Controle de code

Bonsoir

J'ai ce code :

Sub Remplir()
 Application.ScreenUpdating = False
 'On Error Resume Next ' si le programme se déroule correctement enlever la remarque
 Set mybook = ThisWorkbook
 Sheets("Feuil1").Select
 Sheets.Add
 ActiveSheet.Move After:=Sheets(2)
 ActiveSheet.Name = "temp"
 col = Array("I:I", "J:J", "L:L", "A:A", "M:M", "P:P", "S:S", "AC:AC", "AF:AF", "AI:AI", "AL:AL", "AO:AO", "AR:AR", "AU:AU", "AX:AX", "BA:BA")
 Sheets(1).Select
 For i = 0 To 17 '0 et 17 correspond au nombre de array pour la boucle for
 Sheets(1).Range(col(i)).Copy Sheets(2).Cells(1, 1 + i)
 Next
 Sheets(2).Select
 derl = Sheets(2).Range("a65536").End(xlUp).Row
 Sheets(2).Range(Cells(2, 1), Cells(derl, 56)).Copy
 fileToOpen = Application _
 .GetOpenFilename("fichiers excel (*.xls),*.xls")
 If fileToOpen = False Then Exit Sub
 Workbooks.Open fileToOpen
 ActiveSheet.Paste Destination:=Worksheets("Absences").Range("a2")
 [a2].Select
 ActiveWorkbook.Close SaveChanges:=True
 Application.DisplayAlerts = False
 Sheets("temp").Delete
 Application.DisplayAlerts = True
 [a2].Select
 MsgBox " Le deplacement est terminé"
 Application.ScreenUpdating = True
 End Sub

Son rôle :

Je sélectionne les colonnes indiquées pour les copier temporairement dans une feuille avant de les transférer dans un autre fichier

Je bloque à la ligne 12.

Quelqu'un peut il m'aider s'il vous plait

Cdt

Bonsoir

La ligne 12 étant très mal indiquée

Modifies cette ligne

 For i = 0 To 17 '0 et 17 correspond au nombre de array pour la boucle for

par

  For i = 0 To UBound(col)  ' Ubound correspond au nombre de array pour la boucle for

Bonsoir

Merci beaucoup ça fonctionne

Je mets un autre post

Cordialement

Rechercher des sujets similaires à "controle code"