Re-bonjour Pierre-Jean, Benoist59
Je reviens vers vous après quelques essais du code en #4.
Cela fonctionne bien dans les deux cas.
Le fil suivant m'a donné une bonne piste de travail, en cas 2 (macro n'existe pas), afin qu'il n'y ait pas l'instruction cells(i,5) = now qui s'affiche dans le fichier principal.
https://www.excel-downloads.com/threads/saut-dans-boucle-vba.20005476/
Merci pour votre aide, ce fut long mais ça a l'air de fonctionner (mais ce qui parait si simple à écrire m'a donné pas mal de problèmes). C'est une bonne base pour la gestion des erreurs, faut que je m'y recolle -)
zebanx
ps : la boucle passe le tour si le fichier recherché comprend un " ".
----------------
Sub appeler()
Dim k As Integer, i
[E2:E100].ClearContents
Application.ScreenUpdating = False
k = Range("B" & Rows.Count).End(xlUp).Row
Application.DisplayAlerts = False
For i = 2 To k
Dossier_cherché = Range("B" & i)
MacR = Range("C" & i) & "!" & Range("D" & i)
If Dossier_cherché = "" Then
Else
On Error GoTo prochain
Workbooks.Open Filename:=Dossier_cherché
On Error Resume Next
Application.Run MacR
ActiveWorkbook.Close SaveChanges:=True
If Err = 0 Then
Cells(i, 5) = Now
'Application.Wait (Now + TimeValue("00:00:01"))
Else
End If
End If
prochain:
On Error GoTo -1 'instruction de Benoit
Next i
Application.DisplayAlerts = True
End Sub