Bonjour à tous
Bravo et merci à tout ceux qui prennent de leur temps pour répondre aux différentes questions.
Je suis un amateur évolué dira-t-on du VBA Excel, j'ai déjà fait pas mal de petites et grandes macro pour diverses personnes de mon entreprise mais là je cale...
Voici mon souci, je dois remplir certaines cellules d'un fichier de départ (NomSource), où se trouve donc cette macro, par des valeurs situé dans un autre fichier (Nom), vérifier s'il existe ou non et dans d'autres cellules.
je récupère mes données au départ dans le fichier NomSource -> OK
Je vérifie si le fichier Nom existe -> OK
J'ouvre ce dernier s'il existe -> OK
je cherche la valeur dont j'ai besoin, je la sélectionne puis la copie -> OK
J'active le fichier original NomSource et je colle les données à l'endroit voulu -> OK
Mais dès que je veux réactiver le 2ème fichier (Workbooks(Nom).Activate), il me met un message d'erreur "l'indice n'appartient pas à la sélection" alors qu'il a ouvert ce même fichier plus tôt...
Voici un extrait de mon code :
Si quelqu'un à le temps de se pencher sur mon souci ce serait gentil car j'ai la cafetière qui commence à bouillir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
32
33
34
35
36
37
38
39
40
41
42
43 Sub Export() CheminSource = ActiveWorkbook.Path NomSource = ActiveWorkbook.Name CheminDest = ActiveWorkbook.Path & "\" & "Résultat des exports\" dercol = Cells(8, Columns.Count).End(xlToLeft).Column Colsource = 2 For Col = 2 To dercol NumSemaine = Cells(8, Col).Value Nom = CheminDest & Dir(CheminDest & "Récapitulatif Hebdomadaire de la semaine " & NumSemaine & "*.*") If Nom = "" Then GoTo Line1 Workbooks.Open Nom 'Ouverture du fichier For ligne = 10 To 14 Cells(ligne, 4).Select Selection.Copy Workbooks(NomSource).Activate Cells(ligne, Colsource).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Colsource = Colsource + 1 Workbooks(Nom).Activate Cells(ligne, 10).Copy Workbooks(NomSource).Activate Cells(ligne, Colsource).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Colsource = Colsource + 1 Next ligne Line1: Col = Col + 1 Next Col End Sub
Merci
Partager