XL 2010 Boucle For i et j

sams96

XLDnaute Nouveau
Bonjour à tous ,
Je voudrais effectuer une boucle qui va remplacer ce code là :
wb.Sheets(1).Range("B16:B" & DLU).Copy wb.Sheets("ATTRIBUTION").Range("A1:A" & DLU)
wb.Sheets(1).Range("C16:C" & DLU).Copy wb.Sheets("ATTRIBUTION").Range("B1:B" & DLU)
wb.Sheets(1).Range("H16:H" & DLU).Copy wb.Sheets("ATTRIBUTION").Range("C1:C" & DLU)
wb.Sheets(1).Range("K16:K" & DLU).Copy wb.Sheets("ATTRIBUTION").Range("D1:D" & DLU)
wb.Sheets(1).Range("N16:N" & DLU).Copy wb.Sheets("ATTRIBUTION").Range("E1:E" & DLU)

Est ce qu'il serait possible de m'aider à réaliser cette boucle ?
Je vous remercie par avance .
 

Ikito

XLDnaute Occasionnel
Bonjour sams96,

Ci-dessous la boucle. J'ai créé un tableau avec les colonnes d'origine et d'arrivée. Je parcours ensuite le tableau.

VB:
Sub Boucle()

Tab_Lettre = Array("B", "A", "C", "B", "H", "C", "K", "D", "N", "E")

For i = 1 To (UBound(Tab_Lettre, 1) + 1)
    wb.Sheets(1).Range(Tab_Lettre(i) & "16:" & Tab_Lettre(i) & DLU).Copy wb.Sheets("ATTRIBUTION").Range(Tab_Lettre(i + 1) & "1:" & Tab_Lettre(i + 1) & DLU)
    i = i + 1
Next

End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour le fil, bonjour le forum.

Dans le même esprit qu'Ikito :

VB:
Sub Macro1()
Dim CL As Workbook
Dim OS As Worksheet
Dim OD As Worksheet
Dim DLU As Integer
Dim COL() As Variant

Set CL = ThisWorkbook 'à adapter
Set OS = CL.Worksheets(1)
Set OD = CL.Worksheets("ATTRIBUTION")
'DLU = ??? (à définir)
COL = Array("B", "C", "H", "K", "N")
For I = 0 To 4
    OS.Range(OS.Cells(16, COL(I)), OS.Cells(DLU, COL(I))).Copy OD.Cells(1, I + 1)
Next I
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 395
Membres
102 882
dernier inscrit
Sultan94