Renvoi d'erreur sur ouverture de fichier

deniooo

XLDnaute Occasionnel
Bonjour,
à l'ouverture mon fichier doit en ouvrir un autre automagiquement. Or il se peut que les utilisateurs n'aient pas les bons droits d'accés, ou toutes autres bétises du genre..
J'aimerai donc qu'au lieu de faire planter ma maccro, on affiche un msgbox sans afficher l'erreur.
Aprés avoir cherché sur le forum j'en arrive à ça :
Code:
chemin = "\\.. parth ..\Source.xls"
    Workbooks.Open Filename:=chemin
    If Err <> 0 Then
            On Error GoTo 0
            MsgBox "Le fichier est introuvable"
    End If
Or avec ce code il lme fait toujours une belle erreur 1004.

Une idée ?!
 

tototiti2008

XLDnaute Barbatruc
Re : Renvoi d'erreur sur ouverture de fichier

Bonjour denioo,

ta gestion des erreurs n'est pas trés propre. Le plus rapide serait de rajouter une ligne :

Code:
chemin = "\\.. parth ..\Source.xls"
    Workbooks.Open Filename:=chemin
    If Err <> 0 Then
            On Error GoTo 0
            MsgBox "Le fichier est introuvable"
[COLOR=red]Err.Clear[/COLOR]
    End If

Mais une bonne gestion des erreurs passe normalement par un renvoi du type

On Error Goto Err1
...
..
On error goto 0
Exit Sub
Err1:
Msgbox "Fichier introuvable"
End Sub
 

deniooo

XLDnaute Occasionnel
Re : Renvoi d'erreur sur ouverture de fichier

Nouveau code "Propre"
Ce que je viens de faire, et il me sort toujours la même erreur.
Code:
chemin = "\\.. Path ..\ReportingSource\Source.xls"
    [B]Workbooks.Open Filename:=chemin[/B]
    On Error Resume Next
    If Err <> 0 Then
            MsgBox "Le fichier est introuvable"
            On Error GoTo 0
    End If
Je n'ai que ce code dans une sub, rien d'autre.
Or à l'exécution, il me renvoie toujours une erreur 1004, le fichier est introuvable.

o_O Que faire ?!
 
Dernière édition:

deniooo

XLDnaute Occasionnel
Re : Renvoi d'erreur sur ouverture de fichier

Nouveau code "Propre"
Ce que je viens de faire, et il me sort toujours la même erreur.
Code:
chemin = "\\.. Path ..\ReportingSource\Source.xls"
On Error Resume Next    
[B]Workbooks.Open Filename:=chemin[/B]

    If Err <> 0 Then
            MsgBox "Le fichier est introuvable"
            On Error GoTo 0
    End If


Et maintenant cela fonctionne :)

résolu !
 

Pierrot93

XLDnaute Barbatruc
Re : Renvoi d'erreur sur ouverture de fichier

Bonjour,

une autre solution, sans gestion d'erreur :

Code:
Dim chemin As String
chemin = "\\.. Path ..\ReportingSource\Source.xls"
If Dir(chemin, vbDirectory) = "" Then
    MsgBox "fichier non trouvé"
Else
    MsgBox "fichier trouvé"
End If

bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 976
dernier inscrit
kaizertv2001@gmailcom