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 !!!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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.
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" <rmalet@logam.fr> a écrit dans le message de news:e%236kFE4dDHA.1532@TK2MSFTNGP10.phx.gbl...
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 !!!
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.
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.
Merci C'est super !!!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
OOyfLj5dDHA.1632@TK2MSFTNGP12.phx.gbl...
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" <rmalet@logam.fr> a écrit dans le message de
news:e%236kFE4dDHA.1532@TK2MSFTNGP10.phx.gbl...
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 !!!
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 !!!