Boucle sur plage

Aladin

XLDnaute Occasionnel
Bonjour le forum
Pa l' enregistreur de macros j' ai fait ceci voisr ci dessous, qui me permet de copier une plage de céllule c' est ok
Mon souci c' est que j' ai 4 plages à faire, et à mettre à la suite de la premiere copie derniere ligne remplie.
Comment faire une boucle sur ces 4 plages et faire la copie à la fin

Sheets("Data").Select
Range("A3:B92").Select
Selection.Copy
Application.CutCopyMode = False
Selection.Copy
Sheets("Data_Globale").Select
Range("A2").Select
ActiveSheet.Paste

Merci d' avance pour votre aide
Aladin
 

pierrejean

XLDnaute Barbatruc
Re : Boucle sur plage

bonjour Aladin

une possibilité

Code:
Set plage1 = Sheets("Data").Range("A3:B92")
Set plage2 = Sheets("Data").Range("C3:D92")
Set plage3 = Sheets("Data").Range("E3:F92")
Set plage4 = Sheets("Data").Range("G3:H92")
plage1.Copy Destination:=Sheets("Data_Globale").Range("A2")
plage2.Copy Destination:=Sheets("Data_Globale").Range("A65536").End(xlUp).Offset(1, 0)
plage3.Copy Destination:=Sheets("Data_Globale").Range("A65536").End(xlUp).Offset(1, 0)
plage4.Copy Destination:=Sheets("Data_Globale").Range("A65536").End(xlUp).Offset(1, 0)

Les adresses des plages sont a adapter
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Boucle sur plage

Bonjour Aladin, PierreJean, bonjour le forum,

Tu n'as malheureusement pas précisé où se trouvaient les autres plages. Difficile de boucler sans plus d'explication ! La macro ci-dessous propose une boucle sur les 4 mêmes plages que PierreJean : A3:B92, C3: E92, E3:F92, G3:H92. À adapter certaimenent...
Code:
Sub Macro2()
Dim x As Byte 'déclare la variable x
Dim dest As Range 'déclare la variable dest (DESTination)
 
For x = 1 To 7 Step 2 'boucle sur 4 colonnes (par pas de deux)
    If Sheets("Data_Globale").Range("A2") = "" Then 'condition : si A2 de l'onglet "Data_Globale" est vide
        Set dest = Sheets("Data_Globale").Range("A2") 'définit la variable dest (A2)
    Else 'sinon
        Set dest = Sheets("Data_Globale").Range("A65536").End(xlUp).Offset(1, 0) 'definit la variable dest
    End If 'fin de la condition
    'copie et colle
    Sheets("Data").Range(Cells(3, x), Cells(92, x+1)).Copy Destination:=dest
Next x 'prochaine plage
End Sub
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 093
Membres
103 467
dernier inscrit
Pandiska