Boucle qui ne s'arrete pas

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

Bonjour

essaie avec

    MesFichiers = Dir

sans ()

et pour les posts, utilise la balise </> pour le code afin qu'il soit lisible

Bonjour

Merci pour ta réponse et ton conseil.

Hélas le fait d'enlever les parenthèses () ne change rien

Cdlt

En fait je n'ai aucune erreur sur ce jeu d'essai

8test-recopie.zip (20.93 Ko)

en effet c'est curieux, cela ne vient donc pas de mon code....

Cela viendrai du fichier source alors? je ne vois pas en quoi cela aurait une incidence.....

Merci de ton aide

Je me suis posé la question de la mise à jour du fichier, savoir si du coup elle n'entraînait pas une réouverture de ce dernier à la boucle suivante

Néanmoins le test fait ne démontre pas d'anomalie !

Bonjour,

cela pourrait être dû à une corruption de ton répertoire. Tu peux vérifier en lançant la commande chkdsk.

Merci à vous deux pour votre aide et vos pistes

Le chkdsk n'a rien révélé

mais du coup j'ai pensé que je travaillais sur une clef USB

J'ai donc copier et exécuter à partir du disque dur et ......cela fonctionne

Cela viendrait donc de la cle USB........

c'est un peu tordu je trouve :)

Cdlt

Rechercher des sujets similaires à "boucle qui arrete pas"