Boucle selon 2 variables
Le
Bonjour,
Je voudrai faire une boucle en fonction de la terminaison du fichier, XA, XB, XC, jusqu'à XZ
En activant le classeur Feuille_temps_XA_112011.xls, la macro va copier les données de la range B2:E6 sur le classeur Suivi_2011.xls, onglet 11 de la range B5:E9,
puis faire copier les données du classeur Feuille_temps_XB_112011.xls de la même range ( (car les fichiers sont identiques), mais à un autre endroit du Suivi_2011.xls, onglet 11 soit B12:B16.
Je voudrai que la macro puisse gérer les noms variants _XA_, _XB_ jusqu'à XZ.. et les copier sur les destinations différéntes.
Merci de votre aide.
Windows("Feuille_temps_XA_112011.xls").Activate
Sheets("Feuille").Select
Range("B2:E6").Select
Selection.Copy
Windows("Suivi_2011.xls").Activate
Sheets("11").Select
Range("B5:E9").Select
Selection.PasteSpecial Paste:=xlPasteValues
Windows("Feuille_temps_XB_112011.xls").Activate
Sheets("Feuille").Select
Range("B2:E6").Select
Selection.Copy
Windows("Suivi_2011.xls").Activate
Sheets("11").Select
Range("B12:E16").Select
Selection.PasteSpecial Paste:=xlPasteValues
Je voudrai faire une boucle en fonction de la terminaison du fichier, XA, XB, XC, jusqu'à XZ
En activant le classeur Feuille_temps_XA_112011.xls, la macro va copier les données de la range B2:E6 sur le classeur Suivi_2011.xls, onglet 11 de la range B5:E9,
puis faire copier les données du classeur Feuille_temps_XB_112011.xls de la même range ( (car les fichiers sont identiques), mais à un autre endroit du Suivi_2011.xls, onglet 11 soit B12:B16.
Je voudrai que la macro puisse gérer les noms variants _XA_, _XB_ jusqu'à XZ.. et les copier sur les destinations différéntes.
Merci de votre aide.
Windows("Feuille_temps_XA_112011.xls").Activate
Sheets("Feuille").Select
Range("B2:E6").Select
Selection.Copy
Windows("Suivi_2011.xls").Activate
Sheets("11").Select
Range("B5:E9").Select
Selection.PasteSpecial Paste:=xlPasteValues
Windows("Feuille_temps_XB_112011.xls").Activate
Sheets("Feuille").Select
Range("B2:E6").Select
Selection.Copy
Windows("Suivi_2011.xls").Activate
Sheets("11").Select
Range("B12:E16").Select
Selection.PasteSpecial Paste:=xlPasteValues
Essaie cette macro à mettre dans le classeur cible :
Sub test()
Dim c As Range, Sh As Worksheet, Chemin As String, Fichier As String,
Ligne As Integer
Chemin = "c:temp" 'à modifier
Set Sh = ThisWorkbook.Sheets("11") 'si 11 est le numéro d'index,
modifier
For i = 1 To 26
Fichier = "Feuille_temps_X" & Left(Cells(1, i).Address(0, 0), 1) &
"_112011.xls"
Workbooks.Open Chemin & "" & Fichier
[B2:E6].Copy ' pas d'indication sur la feuille
Sh.[B5].Offset(Ligne).PasteSpecial xlPasteValues
Ligne = Ligne + 5
ActiveWorkbook.Close False
Next i
End Sub
PS. Je ne l'ai pas testé.
Cordialement.
Daniel