Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Affectation de macro a des menus avec paramertre

2 réponses
Avatar
Romain M
Bonjour tous le monde.
Voila je n'arrive pas a affecter une macro avec paramètre à un
Menu, en effet VBA, grâce a la commande OnAction, stock
le nom de ma macro dans un menu.Mais quand je veut
affecter un variable de paramètre a cette macro VBA interprète
comme faisant partie du nom de la macro.
Comment Faire !!!

Merci d'avance.

2 réponses

Avatar
michdenis
Bonjour Romain M,


Un message paru sur ce forum sous la plus de Frédéric Sigonneau :


Il faut encadrer l'ensemble nomProc+espace+Paramètre par des
guillemets+apostrophes et mettre le paramètre entre guillemets.
Ci-dessous un exemple qui devrait te dépanner, avec passage de paramètre en dur
ou par l'intermédiaire d'une variable.

FS

'======================== Sub CreeBO()
Dim MaBar, Btn1, Btn2

On Error Resume Next
Set MaBar = Application.CommandBars.Add("MaBarre")
With MaBar
Set Btn1 = .Controls.Add(msoControlButton)
With Btn1
.Caption = "Premier bouton"
.FaceId = 39
.Style = msoButtonCaption
'passage paramètre dans une variable
.OnAction = "'UnePourDeux """ & Btn1.Caption & """'"
End With
Set Btn2 = .Controls.Add(msoControlButton)
With Btn2
.Caption = "Second bouton"
.FaceId = 40
.Style = msoButtonCaption
'passage paramètre en dur
.OnAction = "'Unepourdeux ""Second bouton""'"
End With
.Visible = True
End With
End Sub

Sub UnePourDeux(NomBouton$)
Select Case NomBouton
Case "Premier bouton"
MsgBox "Clic sur : " & NomBouton
Case "Second bouton"
MsgBox "Clic sur : " & NomBouton
End Select
End Sub

Sub DelBO()
On Error Resume Next
Application.CommandBars("MaBarre").Delete
End Sub
'========================

Salutations!



"Romain M" a écrit dans le message de news:e%
Bonjour tous le monde.
Voila je n'arrive pas a affecter une macro avec paramètre à un
Menu, en effet VBA, grâce a la commande OnAction, stock
le nom de ma macro dans un menu.Mais quand je veut
affecter un variable de paramètre a cette macro VBA interprète
comme faisant partie du nom de la macro.
Comment Faire !!!

Merci d'avance.
Avatar
Romain M
Merci C'est super !!!



"michdenis" a écrit dans le message de news:

Bonjour Romain M,


Un message paru sur ce forum sous la plus de Frédéric Sigonneau :


Il faut encadrer l'ensemble nomProc+espace+Paramètre par des
guillemets+apostrophes et mettre le paramètre entre guillemets.
Ci-dessous un exemple qui devrait te dépanner, avec passage de paramètre
en dur

ou par l'intermédiaire d'une variable.

FS

'======================== > Sub CreeBO()
Dim MaBar, Btn1, Btn2

On Error Resume Next
Set MaBar = Application.CommandBars.Add("MaBarre")
With MaBar
Set Btn1 = .Controls.Add(msoControlButton)
With Btn1
.Caption = "Premier bouton"
.FaceId = 39
.Style = msoButtonCaption
'passage paramètre dans une variable
.OnAction = "'UnePourDeux """ & Btn1.Caption & """'"
End With
Set Btn2 = .Controls.Add(msoControlButton)
With Btn2
.Caption = "Second bouton"
.FaceId = 40
.Style = msoButtonCaption
'passage paramètre en dur
.OnAction = "'Unepourdeux ""Second bouton""'"
End With
.Visible = True
End With
End Sub

Sub UnePourDeux(NomBouton$)
Select Case NomBouton
Case "Premier bouton"
MsgBox "Clic sur : " & NomBouton
Case "Second bouton"
MsgBox "Clic sur : " & NomBouton
End Select
End Sub

Sub DelBO()
On Error Resume Next
Application.CommandBars("MaBarre").Delete
End Sub
'======================== >

Salutations!



"Romain M" a écrit dans le message de
news:e%

Bonjour tous le monde.
Voila je n'arrive pas a affecter une macro avec paramètre à un
Menu, en effet VBA, grâce a la commande OnAction, stock
le nom de ma macro dans un menu.Mais quand je veut
affecter un variable de paramètre a cette macro VBA interprète
comme faisant partie du nom de la macro.
Comment Faire !!!

Merci d'avance.