Bonjour,
avec le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Sub messagerie()
Dim client As Long
client = CommandBars(1).Controls("ma barre").Controls("EMail").Controls("Messagerie").ListIndex
 
End Sub
je récupère l'index d'une liste d'un sous menu après séléction par l'utilisateur sur on action du code suivant de ma barre menu "Messagerie"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Set Nouveau23 = Nouveau20.Controls.Add(msoControlDropdown, , , , True)
With Nouveau23
.Caption = "Messagerie"
.FaceId = 54
.Style = msoComboLabel
.Tag = "Messagerie"
.TooltipText = "Choisissez votre logiciel de messagerie"
.OnAction = "messagerie"
.AddItem ("Outlook Express")
.AddItem ("Mozilla Thunderbird")
.AddItem ("Office Outlook")
.AddItem ("Une autre version pour Outlook2003")
.AddItem ("Incredimail")
.AddItem ("Office Outlook 2007")
.AddItem ("Office2000OutLook")
End With
. Je souhaite maintenant récupérer ma variable "client" pour l'utiliser dans un autre module.
J'ai écrit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub messagerie(client as Integer)
client = CommandBars(1).Controls("ma barre").Controls("EMail").Controls("Messagerie").ListIndex
End Sub
Seulement j'ai une erreur :argument non facultatif.
Si je rajoute :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
.OnAction = "messagerie(client)"
j'ai une erreur "impossible de trouver la macro 'messagerie(client)'.
Bref, je ne sais pas comment m'en sortir.
Quel qu'un peut-il m'aider?
Merci d'avance.