VB : assigner à un bouton une macro paramétré

Fermé
maxorthez - 26 juin 2008 à 11:28
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 - 27 juin 2008 à 15:34
Bonjour,
Je fais actuellement de la programmation en Visual Basic pour une application tournant sous Excel
Executer une macro via un bouton est assez simple, et beaucoup de tutoriel l'explique :

    ActiveSheet.Buttons.Add(960, 30, 90, 20).Select
    Selection.Name = "nom_evenement"
    ActiveChart.Shapes("nom_evenement").Select
    Selection.Characters.Text = "evenement"
    Selection.AutoScaleFont = True
    Selection.OnAction = "procedure_sans_parametre"


Cependant, j'aimerai pouvoir assiger à un bouton l'exécution d'une macro paramétré.
J'ai par exemple une macro 'procédure_avec_parametre' :
Sub procedure_avec_parametre ( entier As Integer )
...
End Sub
Puis dans une fonction je dois appeler cette procédure avec un paramètre de 1 :
Le problème est que le code suivant ne marche pas. Comment faire ?

    ActiveSheet.Buttons.Add(960, 30, 90, 20).Select
    Selection.Name = "nom_autre_evenement"
    ActiveChart.Shapes("nom_autre_evenement").Select
    Selection.Characters.Text = "autre_evenement"
    Selection.AutoScaleFont = True
    Selection.OnAction = "procedure_avec_parametre(1)"



Merci de votre aide.
A voir également:
  • VB : assigner à un bouton une macro paramétré
  • Vb - Télécharger - Langages
  • Vb cable - Télécharger - Audio & Musique
  • Vb download - Télécharger - Langages
  • Vb runtime - Télécharger - Divers Utilitaires
  • Vb 2008 - Télécharger - Langages

3 réponses

CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
26 juin 2008 à 11:36
call procedure_avec_parametre ( variable )
0
Non, le problème ne vient pas de la...

Le code suivant ne vient pas de là,
    ActiveSheet.Buttons.Add(960, 30, 90, 20).Select
    Selection.Name = "nom_autre_evenement"
    ActiveChart.Shapes("nom_autre_evenement").Select
    Selection.Characters.Text = "autre_evenement"
    Selection.AutoScaleFont = True
    Selection.OnAction = "call procedure_avec_parametre(1)"


Ca ne marche toujours pas. Il me met le même message d'erreur :
Unable to set tne OnAction property of the Buttob class
0
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
27 juin 2008 à 11:10
seulement
call procedure_avec_parametre ( variable )
et ta procedure "Sub procedure_avec_parametre ( entier As Integer )
...
End Sub "
doit etre dans un module
0
!!!! Mais ce n'est pas ça ma question !!!!

Je sais bien que cette ligne appelle une procédure : call procedure_avec_parametre ( variable )
Ma question est :
Comment assigner une macro paramétré à un BOUTON.

Je ne trouve pas ce qu'il faut mettre à l'intérieur du 'Selection.OnAction'
pour pouvoir passer mon paramètre.

En d'autre terme, que doit remplacer le texte souligner dans le code suivant :

    ActiveSheet.Buttons.Add(960, 30, 90, 20).Select
    Selection.Name = "nom_autre_evenement"
    ActiveChart.Shapes("nom_autre_evenement").Select
    Selection.Characters.Text = "autre_evenement"
    Selection.OnAction = "procedure_avec_parametre(1)"
0
CapitainCo Messages postés 126 Date d'inscription mardi 24 juin 2008 Statut Membre Dernière intervention 5 novembre 2009 61
27 juin 2008 à 15:34
D
0

Discussions similaires