Bonjour à tous,
Je me permets de solliciter l'aide d'un plus expert que moi.....(je ne suis pas très doué encore en VBA).
Voilà mon souci.
Je dois copier une feuille d'un fichier vers tous les fichiers contenus dans un dossier
je sélectionne le dossier
boucle sur chaque fichier et crée la feuille "Synthèse" en dernier et la copie les données
tout se passe bien, sauf qu'arriver au dernier fichier il recommence et ouvre le premier fichier qui plante car la feuille "Synthèse" existe déjà ....forcément.
La boucle ne s’arrête donc pas.
Or si j'essaye le code sans faire de traitement (créer le feuille, copier.......) la boucle s’arrête bien
J'ai donc un problème quelque part mais je ne vois pas ou.......
Merci d'avance
voici mon code
Sub OuvertureTousClasseurs()
'Déclaration des variables
Dim MesFichiers As String, Chemin As String, Wb As Workbook
' copie la feuille synthese
ThisWorkbook.Sheets("synthese").Range("A1:FZ7").Copy
'selectionne le dossier des fichiers à mettre à jour
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
'recupere le chemin du dossier
Chemin = Repertoire.SelectedItems(1)
' Indication du répertoire cible
MesFichiers = Dir(Chemin & "\*.xlsm*")
Do While MesFichiers <> ""
MsgBox MesFichiers & " est ouvert"
'selectionne le fichier actif
Set Wb = Workbooks.Open(Chemin & "\" & MesFichiers)
MsgBox ActiveWorkbook.Name & " est actif"
'ajoute la feuille synthese dans le fichier en actif
Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "synthese"
'selectionne le feuille synthese et colle les données
Sheets("synthese").Select
Range("A1").Select
ActiveCell.PasteSpecial
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=True
' Le fichier suivant du dossier
MesFichiers = Dir()
Loop
End Sub
Cordialement