Erreur compilation à l'ouverture d'un classeur

Bonjour,

Sur un classeur vierge, j'avais testé la création de deux commandbar avec des boutons controles .

Tout était OK.

Je copie donc les modules des ces commandbars (copier/coller) dans un autre classeur définitif avec des instructions de création de ces barres à l'ouverture du classeur.

Private Sub Workbook_Open()
    Creation_Cbar
    Creation_CbarRécap
 End Sub

Mais, lorsque j'ouvre le dit classeur, j'ai une erreur de compilation : Fonction ou variable attendue sur la ligne OnAction ci dessous

With Crtl2
    .Style = msoButtonIconAndCaptionBelow
    .Caption = "Tournées non couvertes"
    .FaceId = 563
    .OnAction = Tournéenoncouvert
    .TooltipText = "Indique les tournées non couvertes"
    .BeginGroup = True

J'ai vérifié immédiatement le nom de la macro qui est bien identique.

Et bien entendu, je ne comprends pas le pourquoi de cette erreur ainsi que la correction que je dois apporter.

Merci de l'aide que vous voudrez bien m'accorder.


Erreur de ma part, c'est sur le Sub Creation_Cbar() qu'il y a un souci.

Bonjour,

Joindre le classeur SVP

A+

Voici une version abrégée du classeur mais toujours avec la même erreur.

Bonjour,

rajouter les guillemets :

.OnAction = "Tournéenoncouvert"

(non testé)

A+

Non, aucune incidence.

Comme j'avais fait un copier coller des macros, j'ai ré-écrit l'appel des procédures. maintenant je n'ai plus de messages d'erreur, mais à l'ouverture du classeur, il n' y a pas la création des commandbars.

je ne comprends toujours pas l'erreur et comment remédier à la situation.

J'ai de nouveau essayé avec les guillemets et maintenant cela marche.

Je ne comprends plus rien à rien !

Quelqu'un peut il m'expliquer pourquoi certaines sub appelées n'ont pas besoin des guillemets et les autres oui ?

Incompréhensible pour l'instant.

Bonjour,

La première fois ça n'a pas marché car tu n'avais pas fermé et réouvert le classeur. Donc ta CBar contenait toujours une instruction erronnée.

Quand tu as relancé la construction de ta CBar tu as rentré "la chaine de caractère corrigée avec guillmets" et ça a fonctionné.

Quand tu appelles une macro par un call : pas besoin de guillemets (Que le mot call soit présent ou non)

Quand tu invoques une procédure dans une propriété ou une méthode (OnAction, OnKey...) tu mets des guillemets.

A+

Merci pour le dépannage et pour les explications.

Rechercher des sujets similaires à "erreur compilation ouverture classeur"