VBA : problème gestion d'erreurs.

CedricBDO

XLDnaute Nouveau
Bonjour,
je suis confronté à un petit problème mais qui commence à me casser la tête.

Il est le suivant.

Dans une maccro VBA relative au DOC1.xls, j'ai besoin de données dans le DOC2.xls.

Pour cela je définie le workbook du DOC2.xls, et s'il n'est pas déjà ouvert je fais une gestion d'erreurs pour l'ouvrir. Pour l'instant pas de prob.

De cette manière :
Code:
On Error Resume Next 'Ouverture de la gestion de problème
Set wk0 = Workbooks("DOC2.xls")
If Err <> 0 Then
    Set wk0 = Workbooks.Open("C:DOC2.xls")
End If
On Error GoTo 0 'Fermeture de la gestion de problème
Set wk1 = Workbooks("DOC1.xls")

Ce que j'aimerais faire en plus, c'est afficher un message si le fichier DOC2.xls est introuvable.

J'ai pensé à faire ainsi :

Code:
On Error Resume Next 'Ouverture de la gestion de problème
Set wk0 = Workbooks("DOC2.xls")
If Err <> 0 Then
    Set wk0 = Workbooks.Open("C:\DOC2"): Flag = True
    If Err <> 0 Then
      MsgBox ("Le fichier C:\DOC2.xls n'existe pas")
      Exit Sub 'Affichage d'un message d'erreur si le fichier n'existe pas
    End If
End If
On Error GoTo 0 'Fermeture de la gestion de problème
Set wk1 = Workbook("Doc1.xls")

Le problème est que le message s'affiche toujours car j'ai une double boucle if et q'il y a une erreur pour la première, il considère donc la condition du 2nd if forcément vrai.

Si quelqu'un pouvait me venir en aide ce serait super.

Merci :)
 

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 789
Membres
101 817
dernier inscrit
carvajal