Titre du sujet : Re: rassembler 26 feuilles dans 1 par JeanMarie le 29/07/2009 15:08:41
Bonjour pgaz44
Colle le code ci-dessous dans un module
Public Sub Compilation()
'Evite la visualisation des actions à l'écran
Application.ScreenUpdating = False
'Première étape suppression des données existantes sur la feuille "Tous"
Worksheets("Tous").Range("A2:B65536").ClearContents
'Deuxième étape, copier les éléments de chaque feuille
'Activation de la boucle, 26 feuilles
'Le caractére A le code ASCII 65
For I = 65 To 90
'L'instruction Chr converti la valeur numérique en caractére texte
'L'instruction With de répéter la méme instruction X fois
With Worksheets(Chr(I))
'On teste si la cellule A2 de la feuille contient une donnée
If .Range("A2") <> "" Then
'Des données sont présentes, on procède à la copie et au collage dans la feuille "Tous"
'L'instruction .end(xlup) permet de remonter à la derniére cellule contenant une donnée
'cette intruction est équivalente au raccourci clavier Ctrl+Flèche du haut
'.end(xlup)(2) le 2 permet le décalage, elle évite l'écrasement d'une donnée
.Range("A2", .Cells(.Range("A65536").End(xlUp).Row, 2)).Copy Destination:=Worksheets("Tous").Range("A65536").End(xlUp)(2)
End If
End With
Next I
'Réactivation des actions à l'écran
Application.ScreenUpdating = True
End Sub
Ensuite rajoute ton bouton sur la feuille, puis affecte la macro Compilation à ce bouton.
Tu peux regarder ce lien pour savoir comment procéder.
Tutoriels n° 04 : Associer la macro à un bouton de la barre d'outils ...
@+Jean-Marie
|