Rapport de message :*
 

Re: rassembler 26 feuilles dans 1

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