Bonjour à tous !

Dans mon application, je souhaite afficher un message d'erreur à l'utilisateur si la feuille à ouvrir n'existe pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Sub TestActivate()
 
    On Error Resume Next
    ActiveWorkbook.Worksheets("Données").Activate    '[OU] Workbooks("MonCalsseur").Worksheets("Données").Activate [OU] Worksheets("Données").Activate [OU] Sheets("Données").Activate
 
    If Err <> 0 Then
        MsgBox Err.Number
        MsgBox " La Feuille ""Données"" est inexistante !", vbCritical, "Message d'erreur"
        End
    End If
 
End Sub
La feuille "Données" existe déjà dans mon classeur et pourtant la procédure me retourne le message erreur.

Lorsque j’exécute cette procédure directement depuis la feuille "Données", tout se déroule correctement; mais si je l’exécute depuis une autre feuille du classeur, Err.number prend la valeur 9 et le message d'erreur s'affiche !

De plus, si je met en commentaire la condition "If Err <> 0 then [...] End If", la procédure s'exécute correctement sans me retourner la moindre erreur...


Pour info, je suis sur Excel version 2007, et les références actives sur mon projet sont :

Nom : 777.jpg
Affichages : 200
Taille : 7,7 Ko

J'ai trouvé un cas similaire au mien (voir http://www.developpez.net/forums/d84...me-err-number/); le problème venait du complément "EUROTOOLS" qui était activé mais ce n'est pas le cas dans mon projet.

Je n'ai aucune idée d'où peut venir cette erreur et j’espère que vous aurez des pistes XD

Merci d'avance,
Yetman333