Salut le forum

Je souhaite intégrer une condition dans le code ci-dessous pour résoudre les messages d'erreur.

Mais avant voici mon besoin : j’ai un dossier qui contient plusieurs fichiers.

Le code ci-dessous permet d’ouvrir chaque fichier par clic d’un bouton de commande et de copier une plage donnée et de passer au fichier suivant.

Quelle condition insérer pour qu'en cas d'absence du fichier à traiter, je souhaite q'un message s'affiche et faisant ressortir le nom du fichier inexistant.
NB : le nom de la feuille a traiter est la feuille à ouvrir par ce code :[/CODE]Workbooks.Open Filename:=spath & sFile[/CODE]
J'ai essayé avec mais je constate qu'il ferme le fichier qui contient le code.
Merci


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
Sub Ouv_Classeur_Copier()
 
'cette macro permet d'ouvrir chaque fichier d'un user
 
' pour copier sa plage C13:M61 et le coller sur sa feuille
 
' du classeur principal
 
Set wk1 = ThisWorkbook
 
sh = Sheets("MENU_DA").Cmde.Caption
 
spath = "C:\Users\" & Environ("username") & "\Desktop\TEST\"
 
sFile = Sheets("MENU_DA").Cmde.Caption & ".xlsm"
 
    wk1.Sheets(sh).Unprotect "dac2017"
 
   on error resume next
    Workbooks.Open Filename:=spath & sFile
 
    Range("C13:M61").Copy
 
    wk1.Sheets(sh).Range("C13").PasteSpecial Paste:=xlValues
 
Application.DisplayAlerts = False
 
ActiveWorkbook.Close Savechanges:=False
 
    wk1.Sheets(sh).Protect "dac2017"
 
Application.DisplayAlerts = False
 
End Sub