Bonsoir à toutes la communauté Développez,
A travers les différents postes de ce site j'ai réussi à monter un code me permettant dans un classeur (Classeur 1) d'aller chercher des Feuilles dans d'autres classeurs et de les copier sur mon classeur (Classeur 1) en renommant chacune de ces feuilles par leur nom de Classeur.
Le code bloque lorsque j'appelle le.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Workbooks.Open monFichier
Même en changeant la syntaxe et en mettantou en utilisant la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part Workbooks.Open Filename:=monFichiercela ne fonctionne pas ; Excel ne trouve pas le fichier dans le Chemin donné alors que ce fichier existe bel et bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.GetOpenFilename(monFichier, *.xlsm")
Vous trouverez ci-dessous le code complet:
J'espère que mes explications sont claires
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
44
45
46
47 Sub listerLesFichiers() Dim Chemin As String Dim Repertoire As String Dim monFichier As String Dim n As Integer Dim i As Integer Dim j As Integer Application.ScreenUpdating = False Application.DisplayAlerts = False Repertoire = Dir("C:\BAUME\Pointage\*.xlsm") While Repertoire <> "" n = n + 1 Repertoire = Dir() Wend MsgBox "Nombre de Fichiers : " & n Chemin = "C:\BAUME\Pointage\" monFichier = Dir(Chemin & "*.xlsm") ' La fonction Dir(chemin, mode) permet de parcourir un dossier et vbNormal permet de ne récupérer que des fichiers, Do While monFichier <> "" MsgBox monFichier Workbooks.Open (monFichier) Workbooks(monFichier).Activate For i = 1 To Worksheets.Count Workbooks(monFichier).Activate Sheets("Feuil" & i).Select Sheets("Feuil" & i).Copy After:=Workbooks("Classeur de pointage.xlsm").Sheets(i) Workbooks("Classeur de pointage.xlsm").Activate Sheets(i + 1).Name = "monFichier" Next i ' Permet de passer au fichier suivant monFichier = Dir Loop Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub
Excel me retourne une erreur 1004.
Auriez-vous une idée du problème ?
Cordialement,
Alexbreizhst
Partager