VBA message Box au lieu de deboguage

Bens7

XLDnaute Impliqué
Bonjour a tous !!
J'ai un user Form avec 3 bouton qui me permettent d'ouvrir un document present dans mon dossier le probleme c'est que si le fichier est introuvable (PDF ou JPEG) rien ne se passe , et si c'es un fichier excel j'ai le message de deboguage....
Je souhaiterais tous simplement si le fichier est introuvable une message box: "FICHIER INTROUVABLE"
merci le code ci joint:
Code:
'BOUTON XLSX
Private Sub CommandButton3_Click()
   Dim classeur_rmf
     ChDir ActiveWorkbook.Path
 
    Set classeur_rmf = Workbooks.Open(ActiveWorkbook.Path & "\Facture\" & TextBox26 & ".xlsx")
     UserForm1.Hide
End Sub


'BOUTON PDF
Private Sub CommandButton7_Click()
Dim Chemin_FichierPDF$, hwndSim

  Chemin_FichierPDF = ActiveWorkbook.Path & "\Facture\" & TextBox26 & ".pdf"

  hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_FichierPDF, 0, 0, 1)
End Sub

'BOUTON JPG
Private Sub CommandButton8_Click()
Dim Chemin_FichierJPG$, hwndSim

  Chemin_FichierJPG = ActiveWorkbook.Path & "\Contrat\" & TextBox26 & ".jpg"
  hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_FichierJPG, 0, 0, 1)
  
' BOUTON JPG (2)

Dim Chemin_FichierJPG2$, hwndSim2

  Chemin_FichierJPG2 = ActiveWorkbook.Path & "\Contrat\" & TextBox26 & " (2)" & ".jpg"
  hwndSim2 = ShellExecuteForExplore(0&, vbNullString, Chemin_FichierJPG2, 0, 0, 1)
      
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : VBA message Box au lieu de deboguage

Re,

A noter, perso testerais plutôt l'existance du fichier avec la fonction "Dir" :
Code:
Dim fichier As String
fichier = Dir(cheminetnomfichier)
If fichier = "" Then MsgBox "fichier inconnu"
 

Bens7

XLDnaute Impliqué
Re : VBA message Box au lieu de deboguage

Comme ca :
Code:
Private Sub CommandButton3_Click()
        On Error GoTo msg
    Dim classeur_rmf
    ChDir ActiveWorkbook.Path
    Set classeur_rmf = Workbooks.Open(ActiveWorkbook.Path & "\Facture\" & TextBox26 & ".xlsx")
    UserForm1.Hide
    
 Exit Sub
msg:
 MsgBox "FICHIER INTROUVABLE"
        
End Sub

ca me met l'erreur quoi qu'il arrive meme si le fichier existe
 

Pierrot93

XLDnaute Barbatruc
Re : VBA message Box au lieu de deboguage

Re,

Dir appliqué à un de tes bouton :
Code:
Private Sub CommandButton7_Click()
Dim Chemin_FichierPDF$, hwndSim, fichier As String
Chemin_FichierPDF = ActiveWorkbook.Path & "\Facture\" & TextBox26 & ".pdf"
fichier = Dir(Chemin_FichierPDF)
If fichier = "" Then
    MsgBox "fichier inconnu"
Else
    hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_FichierPDF, 0, 0, 1)
End If
End Sub
 

Bens7

XLDnaute Impliqué
Re : VBA message Box au lieu de deboguage

J'ai essayer ca aussi marche pas (mais plus simple pour moi a comprendre)

Code:
'BOUTON PDF
Private Sub CommandButton7_Click()
Dim Chemin_FichierPDF$, hwndSim
  Chemin_FichierPDF = ActiveWorkbook.Path & "\Facture\" & TextBox26 & ".pdf"
 
  If Chemin_FichierPDF = "" Then
     MsgBox "fichier introuvable"
 Else
   hwndSim = ShellExecuteForExplore(0&, vbNullString, Chemin_FichierPDF, 0, 0, 1)
  End If
End Sub
 

Discussions similaires

Réponses
7
Affichages
346

Statistiques des forums

Discussions
312 194
Messages
2 086 069
Membres
103 110
dernier inscrit
Privé