Worksheet_activate erreur

Résolu
campagnie Messages postés 15 Statut Membre -  
campagnie Messages postés 15 Statut Membre -
Bonjour,

Je me permets de faire appel à vous car je ne trouve pas l'erreur dans ma macro :

Private Sub Worksheet_Activate()
Call BonjourVous
End Sub

Or j'ai le message d'erreur suivant :
Compil error:
Sub or Function not defined

Pourtant j'ai bien créé une macro nommé BonjourVous dont le contenu est :
Sub BonjourVous()
MsgBox ("Bonjour Bonne lecture.")
End Sub

Quelqu'un pourrait-il m'expliquer ce qui m'échappe?

Cordialement

1 réponse

  1. Utilisateur anonyme
     
    Bonjour campagnie,

    Dans ta sub BonjourVous(), les parenthèses de ton instruction
    MsgBox sont inutiles :

    Sub BonjourVous() 
      MsgBox "Bonjour Bonne lecture."
    End Sub
    


    -----------------------------------------

    Dans ta sub Worksheet_Activate(), le Call est inutile car c'est
    la seule instruction de la ligne. Tu peux donc écrire :

      BonjourVous
    


    Par contre, s'il y avait sur la même ligne une 2ème instruction à la suite,
    et donc un deux-points ( : ) pour les séparer, là, le Call aurait été
    obligatoire, car sinon, BonjourVous: aurait été pris comme une étiquette
    (où se brancher éventuellement). Et tout ça ne concerne que les subs
    sans paramètre ; car avec un ou plusieurs paramètres, pas besoin de
    Call : ça ne peut pas être pris comme une étiquette (aucune ambiguïté
    possible).

    -----------------------------------------

    Enfin, l'emplacement pour écrire ton code est mal choisi.
    Voici ce que je te propose :

    Côté gauche de ta fenêtre Microsoft Visual Basic, fais un clic droit sur
    la ligne de ton Projet VBA, et choisis Insertion / Module (tout court,
    pas Module de classe !) : tu vas avoir une page blanche qui est celle
    de Module1 ; c'est là que tu dois écrire ton code VBA (sauf pour des
    procédures de type événementiel, mais ce n'est pas ton cas).

    Donc mets ici par copier / coller la sub BonjourVous corrigée qui est
    ci-dessus, et supprime tout ce que tu avais déjà mis avant :
    ton ancienne sub BonjourVous() et la sub Worksheet_Activate()
    qui sont dans le code de Feuil1.

    Ensuite, fais < Alt >< F11 > pour retourner sur ta feuille Excel,
    et fais < Alt >< F8 > pour avoir la fenêtre « Macros ».

    Sélectionne ta sub BonjourVous, puis exécutes-là :

    Ton message va s'afficher dans une boîte de dialogue avec
    le bouton OK.

    Dis-moi ce que tu en penses, et si ton problème est réglé,
    merci d'utiliser le lien situé tout en haut de page, juste
    sous le titre : « Marquer comme résolu ».

    Cordialement.  😊
     
    0
    1. campagnie Messages postés 15 Statut Membre
       
      C'est parfait merci!
      0