Macro avec condition if et itération sur deux fichiers différents
Bonsoir ,
c'est ma première fois d'essayer de faire une macro. je me suis servi de vos différents sujets pour écrire quelques codes, je vous en remercie infiniment. je serai flatté de me faire corriger par vous.
en fait je cherche à créer une routine qui va me permettre de copier les données réçus de plusieurs point de vente dans un classeur principal.
le classeur principal est constitué de n+1 feuilles dont chacune correspond à un point de vente. la premier feuille du fichier principal(en partant de gauche à droit) se nomme "index". le reste des feuilles sont numérotés de 1 à n.
mon problème se résume à vouloir recopier les données de trois colonnes du fichier reçu de chaque point de vente sur la feuille réservée à celui ci dans le fichier principal. j'ai inséré une clé dans chaque fichier des points de vente correspondant à au numéro(nom) de la feuille du point de vente dans fichier principal.
voici comment se présente le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Sub Kunyimasoft262()
'
' Kunyimasoft262 Macro
'
'
ThisWorkbook.Activate
For i = 1 To Sheets.Count
Sheets(i).Select
If i = Workbooks("SS26 2015.xlsx").Worksheets("Essence").Range("E2") Then
Workbooks("SS26 2015.xlsx").Activate
Workbooks("SS26 2015.xlsx").Worksheets("Essence").Range("C5").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ThisWorkbook.Activate
ThisWorkbook.Worksheets("i").Range("C17").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Workbooks("SS26 2015.xlsx").Worksheets("Essence").Activate
Range("E5:G5").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
ThisWorkbook.Activate
Range("E17").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End If
Next i
End Sub |
là je reçois le message suivant: erreur d’exécution '9'. l'indice n'appartient pas à la sélection.
pouvez vous me corriger?
Patrick