Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 02/11/2004, 16h54   #1 (permalink)
Clark
Guest
 
Messages: n/a
Par défaut Passer paramètre code click bouton

Bonjour à vous,

j'aimerais savoir s'il est possible de passer un paramètre à la fonction click d'un bouton situé dans une sheet.

Voilà le code que je passe :

Application.Run "" & Sheets("Activite").CodeName & ".bt_activite_Click" , Code.Value

et le code de l'évènement click

Private Sub bt_activite_Click(code as string)

mais apparemment ca ne lui plait pas! Est-ce que j'ai fait une erreur ou bien, est-ce que tout simplement ce n'est pas possible?

Merci
Clark
 
ANNONCES
Vieux 02/11/2004, 20h58   #2 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

bonsoir Clark


si un CommandButton , est inséré dans une feuille appelée "Activite" et qu'une procedure est associée à l'evenement Clic du bouton .
par exemple :

Private Sub CommandButton1_Click()
MsgBox "Le forum XLD"
End Sub


la procedure ci-dessous , insérée dans un module , permet d'activer la macro du CommandButton

Sub lanceEvenementClickBouton()
Application.Run Sheets("Activite").CodeName & ".CommandButton1_Click"
End Sub


bonne soirée
MichelXld
 
Vieux 04/11/2004, 08h25   #3 (permalink)
Clark
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

Merci Michel, mais tu ne réponds pas du tout à ma question.

Si tu lis mon message, tu verras que j'ai déjà cette syntaxe! Ce qui me manque c'est de pouvoir passer un paramètre pas d'appeler la procédure click!

Clark
 
Vieux 04/11/2004, 13h10   #4 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

bonjour Clarck

peux tu préciser ce que tu apelles "passer un parametre"


bonne journée
MichelXld
 
Vieux 04/11/2004, 14h46   #5 (permalink)
Clark
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

Un paramètre est une valeur que tu utilises dans ta procédure située dans la macro et que tu veux également utiliser dans le code click du bouton.

Exemple :

Procédure Afficher_Nom ()
Dim p_nom as string

p_nom="Jean"

Application.Run Sheets("Activite").CodeName & ".CommandButton1_Click" , p_nom

Fin Procédure

//Là on passe un paramètre p_nom à la procédure de click
//C'est la syntaxe pour passer un paramètre à une procédure autre qu'un évènement click, mais je ne sais pas comment faire pour un évènement click, ca ne semble pas marcher pareil!

procédure CommandButton1_Click (p_nom as string)
msgbox(p_nom)
fin procédure


Clark
 
Vieux 04/11/2004, 17h19   #6 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

bonjour Clarck

si tu souhaites que ta variable ( ton parametre ) soit utilisable dans l'ensemble du classeur , il faut remplacer "Dim p_nom As String" par "Public p_nom As String" et la placer tout en haut au dessus de la premiere procedure . ce n'est pas la peine d'ajouter "p_nom" en fin de la ligne Application.run


'dans un module
Public p_nom As String
Procédure Afficher_Nom()
p_nom = "Jean"
Application.Run Sheets("Activite").CodeName & ".CommandButton1_Click"
fin Procédure

'dans la feuille "Activite"
Procédure CommandButton1_Click
MsgBox p_nom
fin Procédure


bonne soirée
MichelXld
 
Vieux 05/11/2004, 08h30   #7 (permalink)
Clark
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

Salut Michel,

et si l'appel se fait à partir d'un userform et non d'un module, est-ce que cela marche aussi? A ce moment là, où faut-il déclarer ma variable public?


Merci pour ton aide

Clark
 
Vieux 05/11/2004, 17h33   #8 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

bonjour Clarck

Cela fonctionne aussi .Dans ce cas , la variable "Public p_nom As String" doit rester dans un module

'la macro du CommandButton dans la feuille
Private Sub CommandButton1_Click()
MsgBox p_nom
End Sub

'la macro du CommandButton dans le UserForm , qui va appeler la premiere macro
Private Sub CommandButton1_Click()
p_nom = "Jean"
Application.Run Sheets("Activite").CodeName & ".CommandButton1_Click"
End Sub


bonne soirée
MichelXld
 
Vieux 15/11/2004, 08h59   #9 (permalink)
Clark
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

Bonjour Michel,

merci pour ta réponse, je n'ai pas répondu plus tôt car j'étais en congé!

Une dernière question, où dois-je mettre la déclaration de p_nom si je n'utilise pas de module. Tous mes codes sont dans les boutons, les champs de saisie, les évènements,... mais aucun module n'est visible dans l'explorateur du projet.

Clark
 
Vieux 15/11/2004, 17h45   #10 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: Passer paramètre code click bouton

bonjour Clark

pour créer un module quand tu es dans Visual Basic Editor (Alt+F11) :

Menu Insertion
Module


bonne soirée
MichelXld
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 01h54.


(C) 2006 Excel Downloads