IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

[VBA-W] Evénement sur bouton créé dynamiquement


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut [VBA-W] Evénement sur bouton créé dynamiquement
    Bonjour à tous,

    Bon je vais essayer d'être le plus clair possible mais si vous voulez d'autres infos pour comprendre, n'hésitez pas.

    Je suis entrain de faire une interface qui est créée dynamiquement à partir d'un fichier XML. Au départ la macro contient une feuille de base qui contient un multipage et quelques boutons pour évoluer (suivant, quitter...). Ensuite, la macro ouvre un fichier XML contenant les infos permettant de savoir quel controles on veut insérer dans l'interface, à quel endroit... Jusqu'à maintenant j'ai mis des comboBox, textBox, Label... et pas de souci mais maintenant je veux pouvoir insérer des commandButton et qu'il réagisse au click.
    Pour l'insertion des boutons, pas de problème et j'arrive à associer à un bouton une procédure réagissant au clic (que j'ai d'ailleurs réussi à faire à partir d'infos trouvées sur les forum!) de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private WithEvents monBouton As CommandButton
     
    Private Sub monBouton_Click()
    ...
    End Sub
     
    'Procédure contenant la création du bouton
    Private Sub CreerBlocParcourir(indexPage As Integer, _
                                   nomOnglet As String, _
                                   labelQuestion As String, _
                                   indiceQuestion As String)
    ...
    'Création du bouton
    Set monBouton = FormAssistant.MultiPage(indexPage).controls.Add _
                    ("Forms.CommandButton.1", _
                     "parcourir" + nomOnglet + indiceQuestion)
    ...
    End Sub
    Donc ceci fonctionne très bien mais que pour un seul bouton, si l'on en insère plusieurs, seul le dernier inséré ne réagi au clic.
    Donc voilà mon problème, comment faire pour que cela fonctionne en insérant plusieurs boutons ?
    Après pas mal de recherches sur les forum et pas mal de tentatives non concluante, je poste ce message en espérant que quelqu'un ai une solution (ou même des idées)

    Merci par avance de votre aide

    Ptilo

  2. #2
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Re-bonjour,

    juste une petite précision au cas ou cela soit utile, je travaille sous word 2000.

    Ptilo

  3. #3
    Membre éprouvé Avatar de zebulon2212
    Inscrit en
    Juin 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juin 2006
    Messages : 77
    Par défaut
    moi g créer un menu dynamique en vba; si ca marche de la meme facon essaye de remplir la propriété onaction.
    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set NewButton = NewSubIntervenantMenu.Controls.Add(Type:=msoControlButton)
    With NewButton
        .Caption = "Ajouter"
        .FaceId = 1970
        .OnAction = "AjouterIntervenant"
    End With
    je precise que AjouterIntervenant est une procedure du meme module

    Penser aux balises Code (bouton #)
    ajoutées par ouskel'n'or

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    tu pourrais par exemple utiliser une collection pour gérer les différents CommandButton créés dynamiquement

    http://www.developpez.net/forums/sho...lic+Collect%22

    le lien concerne un UserForm dans Excel mais le principe reste le meme


    bonne soiree
    michel

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Bonjour,

    Merci pour vos réponses, elles m'ont l'air très intéressentes, je crois que ca va bien m'aider. Pour l'instant je suis passer à autre chose (mon appli permet d'insérer qu'un seul bouton pour l'instant) mais j'y revient dessus et je vous tient au courant des résultat dès que j'ai un peu de temps.

    Ptilo

  6. #6
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Re bonjour,

    je suis entrain de regarder vos propositions,
    concernenant le "onAction", cette propriété concerne seulement les controles de types menu donc pas possible pour mes commandButton.

    concernant le module de classe, ca me parait pas mal du tout, je n'ai pas encore eu le temps de regarder en détail mais le fait de créer des classes m'intéresse beaucoup (ayant fait de la prog objet) or je ne savait pas qu'on pouvait faire ca en vba (c'est pas le premier truc qu'est indiqué dans les forum et tutos et même dans un gros bouquin de VBA que j'ai acheté et que je n'aurait pas du !!!)

    A + quand j'ai plus de détails et merci encore à vous 2

    Ptilo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. autopostback sur bouton creer dynamiquement
    Par xian21 dans le forum C#
    Réponses: 1
    Dernier message: 17/06/2008, 09h50
  2. Réponses: 2
    Dernier message: 14/05/2008, 16h18
  3. Evénement sur Bouton ActiveX
    Par vandrie dans le forum IHM
    Réponses: 4
    Dernier message: 18/10/2007, 20h53
  4. evenement sur bouton créé dynamiquement
    Par J@ckHerror dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/03/2007, 04h24
  5. [VBA excel] Probleme sur bouton commande
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 22/11/2005, 10h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo