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

maxorthez -  
CapitainCo Messages postés 127 Statut Membre -
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.
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. CapitainCo Messages postés 127 Statut Membre 61
     
    call procedure_avec_parametre ( variable )
    0
    1. maxorthez
       
      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
  2. CapitainCo Messages postés 127 Statut Membre 61
     
    seulement
    call procedure_avec_parametre ( variable )
    et ta procedure "Sub procedure_avec_parametre ( entier As Integer )
    ...
    End Sub "
    doit etre dans un module
    0
    1. maxorthez
       
      !!!! 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
  3. CapitainCo Messages postés 127 Statut Membre 61
     
    D
    0