Accueil > Forum > > > > Probleme d'utilisation du parametre OnAction - C'est un peu Urgent -
Probleme d'utilisation du parametre OnAction - C'est un peu Urgent -
mercredi 8 mars 2006 à 12:09:16 |
Probleme d'utilisation du parametre OnAction - C'est un peu Urgent -

Little_Dev
|
Bonjour, J'ai un soucis pour utiliser le parametre OnAction en VBA. Mon probleme est le suivant, j'ai créer un menu deroulant dans Excel, et je voudrait lors du clique sur le menu, il execute une fonction ou procedure avec parametre(s). Mais je n'arrive pas à passer le parametre dans la fonction ou procedure (ci-dessous un exemple) Sub Créer_Menu() With Application With .CommandBars(1).Controls.Add(msoControlPopup, before:=10) .caption = "Mon Menu Perso" With .Controls.Add(msoControlPopup) .caption = "Menu 1" With .Controls.Add(msoControlButton) .caption = "Sous Menu 1.1" .OnAction = "PRC_TST" End With End With End With End With End Sub
Public Sub PRC_TST(ByVal STR_STRING As String) Dim STR_TST
STR_TST = STR_STRING End SubDans l'attente d'une reponse, je vous remercie
|
|
mercredi 8 mars 2006 à 13:23:52 |
Re : Probleme d'utilisation du parametre OnAction - C'est un peu Urgent -

jpleroisse
|
Bonjour,
Public Sub PRC_TST(ByVal STR_STRING As String), n'est pas reconnu comme une macro.
jpleroisse
|
|
mercredi 8 mars 2006 à 13:37:30 |
Re : Probleme d'utilisation du parametre OnAction - C'est un peu Urgent -

zoglub14
|
Réponse acceptée !
Hello
Il faut que tu crées un chaine de caractère.
Ci dessous un exemple complet
Option Explicit Function CommandBarAdd(oParentCommandBar As CommandBar, oMacroWrk As Excel.Workbook, sMacroName As String, sToolTip As String, lFaceID As Long, ParamArray args() As Variant) As CommandBarButton Dim oBtn As CommandBarButton Dim sOnAction As String Dim vArg As Variant Dim sSeperator As String Set oBtn = oParentCommandBar.Controls.Add oBtn.FaceId = lFaceID oBtn.TooltipText = sToolTip ' Ci dessous la construction de la chaine pour passer les parametres ' dans le OnAction sOnAction = "'" & oMacroWrk.Name & "'!'" & sMacroName If IsArray(args) Then For Each vArg In args sOnAction = sOnAction & sSeperator & """" & CStr(vArg) & """" sSeperator = "," Next End If 'Mettre un Bpx ci dessous pour voir le resultat finale et la constitution de la chaine sOnAction = sOnAction & "'" oBtn.OnAction = sOnAction End Function 'Demo code Sub Test() Dim oCmdBar As CommandBar Set oCmdBar = CommandBars.Add 'Passe les parametres pour créer la commande bar : 'quel Doc, le nom de la commandebar, l'intitulé de TooltipText, le N° de l'icone, la parametre 1 et le 2 CommandBarAdd oCmdBar, ThisWorkbook, "TestClick", "Show Msgbox", 2520, "fdede", "dada" 'Nom de la nouvelle bar oCmdBar.Name = "Test2Bar" oCmdBar.Visible = True End Sub 'Routine appellée par le Onaction avec parametre Sub TestClick(Optional sParam1 As String, Optional sParam2 As String) MsgBox "Param1: " & sParam2 & ". Param2: " & sParam1 End Sub
@+
Zorglub
|
|
mercredi 8 mars 2006 à 14:12:21 |
Re : Probleme d'utilisation du parametre OnAction - C'est un peu Urgent -

Little_Dev
|
Bonjour a tous les deux.
Je vous remercie de vous etes intéressé a mon probleme.
Effectivement jpleroisse
ce n'est pas une macro, mais une procedure qui fait partie d'une macro, je suis désolés si je me suis mal exprimé lorsque j'ai ennoncé mon probleme.
Un grand merci a Zorglub pour ta solution, qui me convient tout a fait. Je n'avais pas vu la chose sous cette angle, trop obstiné dans mes idées.
A trés bientot sur le forum de VBFRANCE.
Encore milles merci pour votre gentillesse
@+ Little_Dev ;-)
|
|
mercredi 8 mars 2006 à 14:14:57 |
Re : Probleme d'utilisation du parametre OnAction - C'est un peu Urgent -

jpleroisse
|
Re,
A tout hasard, je te remet ton code simplement modifé. (Quand même plus simple)
Sub Créer_Menu()
'Supprime le menu au cas où il existerait déjà.
Call DeleteMenu
With Application
With .CommandBars(1).Controls.Add(msoControlPopup, before:=10)
.Caption = "Mon Menu Perso"
With .Controls.Add(msoControlPopup)
.Caption = "Menu 1"
With .Controls.Add(msoControlButton)
.Caption = "Sous Menu 1.1"
.FaceId = 162
.OnAction = "MaMacro"
End With
End With
End With
End With
End Sub
Sub DeleteMenu()
CommandBars(1).Controls("Mon Menu Perso").Delete
End Sub
Sub MaMacro()
MsgBox "Ceci fonctionne très bien !"
End Sub
jpleroisse
|
|
mercredi 8 mars 2006 à 14:36:06 |
Re : Probleme d'utilisation du parametre OnAction - C'est un peu Urgent -

Little_Dev
|
Ok c'est trés sympathique te ta part jpleroisse. Merci  Bonne continuation et peut-etre a trés bientot.
|
|
Cette discussion est classée dans : menu, parametre, with, onaction, tst
Répondre à ce message
Sujets en rapport avec ce message
Griser une commande du Menu perso Excel 2003 [ par Ednour ]
'Bonjour, 'Le menu perso en VBA fonctionne bien : 4 boutons avec sous-menus. 'Voici le code du premier bouton : Sub Aj_menu_perso() Dim Feuille As Wor
[VBA] OnAction appelle une fonction avec paramètres. [ par didrocks ]
Bonjour, J'ai un menu (crée dynamiquement). Je veux pour les x items présents dans le menu les associer avec une fonction. J'utilise donc Onaction,
Barres de menu et sous menu [ par elolydie ]
Bonjour,Je cherche à créer une barre de menu personnalisée qui contient des sous menus.Mon problème est de réussir à créer les boutons dand ce sous me
Creer un menu [ par nagattaque ]
Bonjour,Je vous explique mon problème :J'ai crée une macro que je voudrai déployer sur plusieurs postes. Pour cela, j'ai crée un .xla et je voudrai da
menu word [ par chtibreizh62 ]
Je crois qu'alzheimer me guette !Après un long moment, je me replonge dans le VBA Word et je n'arrive pas à finaliser mon menu. Je souhaiterai avoir u
SAVOIR SI ON CLIQUE SUR UN MENU [ par Ulala2 ]
Bonjour,J'ai un menu avec des sous-menus, et je voudrai savoir s'il est possible de savoir lorsque l'utilisateur clique sur les éléments "parents" du
excel with VB [ par armiss ]
comment importer des valeurs dans des cellules d'un classeur excel vers un autre classeur? et si les resultats de ce dernier se trouve sur une clonne
Menu déroulant dans une InputBox en VBA [ par soremi ]
Bonjour,Est ce que quelqu'un pourrait me dire comment on fait pour mettre un Menu déroulant dans une InputBox en VBA.Merci beaucoupsophie
Menu démarrer [ par FLAMME_2 ]
Bonjour a tous, Je cherche le moyen d'afficher dans un menu normale le contenue du menu démarrer et que quand on clique dessus je voudrais quee ca exe
Menu Editor - Créateur de menu [ par tbbuim1 ]
Bonjour à tous,Je souhaiterais récupérer la structure du menu de mon MDI afin de pouvoir faire un menu perso à l'identique.* Comment peut on parcouri
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|