Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Pb sur ma macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jul74ien74

XLDnaute Nouveau
Bonjour,

je vous explique mon pb.

voici la macro :

For Lig = 8 To 10
If Cells(Lig, 2).Value = "1_01_Room-Layout\" Then
FichierATester = [M2] + Cells(Lig, 4) + Cells(Lig, 8)

Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(FichierATester)


Cells(Lig, 10).Value = f.DateLastModified

End If
Next Lig

Mon pb est que si le fichier, qui est censé se trouvé a l'adresse en [M2] + Cells(Lig, 4) + Cells(Lig, 8), est absent alors la macro plante. ce qui est normal.
Ce que j'aimerais c'est qui si il n'y est pas alors une msgbox s'ouvre en disant que le fichier n'est pas dispo et que la macro passe au reste

merci
 
Re : Pb sur ma macro

Bonjour ,

Peut être comme cela :

Code:
Sub ff()
Dim Fs As Object, F As Object
Dim Lig As Long
Dim FichierATester As String

Set Fs = CreateObject("Scripting.FileSystemObject")
 For Lig = 8 To 10
  
  If Cells(Lig, 2).Value = "1_01_Room-Layout\" Then
    FichierATester = [M2] + Cells(Lig, 4) + Cells(Lig, 8)
    On Error Resume Next
    Set F = Fs.GetFile(FichierATester)
     
     If Err.Number <> 0 Then
        MsgBox "Le fichier " & FichierATester & " n'est pas dispo": Err.Clear
       Else
       Cells(Lig, 10).Value = F.DateLastModified
     End If
     
     On Error GoTo 0
    Set F = Nothing
  End If

 Next Lig
Set Fs = Nothing

End Sub
 
Re : Pb sur ma macro

Bonjour
Faut gérer les erreurs

On Error Resume Next 'on gère les erreurs
For Lig = 8 To 10
If Cells(Lig, 2).Value = "1_01_Room-Layout\" Then
FichierATester = [M2] + Cells(Lig, 4) + Cells(Lig, 8)


Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(FichierATester)
'on test et efface l'error et on va en fin de boucle à saute
If err<>0 then msgbox FichierATester & " Absent" :err.clear:goto saute


Cells(Lig, 10).Value = f.DateLastModified
End If


saute:
Next Lig


Bruno
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
580
Réponses
0
Affichages
597
Réponses
9
Affichages
953
Réponses
17
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…