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

Macros et VBA Excel Discussion :

ma sub commandbutton_click marche po [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    technicien qualité
    Inscrit en
    Mai 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Mai 2015
    Messages : 9
    Par défaut ma sub commandbutton_click marche po
    Bonjour a tous,

    je reviens vers vous car je n'ai pas trouvé de réponse a ma question sur le web,

    j'ai crée sur userform1 des commandbutton de façon dynamique.

    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
    19
    20
     
    Private Sub UserForm_Initialize()
     
    Dim i As Integer
     
     
    ' rend invisible tous les commandbutton de la feuille
    For i = 1 To 6
        Me.Controls("commandbutton" & i).Visible = False
    Next
     
    'rend visible avec le nom associé à commandbutton de 1 à nbdeprout(0)
    For i = 1 To nbdeprout(0)
        Me.Controls("commandbutton" & i).Visible = True
        Me.Controls("commandbutton" & i).Caption = nbdeprout(i)
    Next
     
     
     
    End Sub
    ça marche nickel, ensuite lorsqu'on clique sur un commandbutton je voudrais lancer une sub sans avoir a ecrire du code pour chaque bouton, j ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub commandbutton_click()
     
    MsgBox "yes"
     
    End Sub

    mais elle ne se lance pas, qu'est ce que j ai loupé ?

    Merci
    Nicolas

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, l'idéal, faire appel aux modules de classe : une recherche

  3. #3
    Membre habitué
    Homme Profil pro
    technicien qualité
    Inscrit en
    Mai 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Mai 2015
    Messages : 9
    Par défaut modules de classe
    j essaye avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public WithEvents MonBouton As MSForms.CommandButton
    en tete de userform1
    et ensuite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub MonBouton_Click()
        MsgBox "coucou"
    End Sub
    mais la msgbox ne s affiche pas lorsque je clique sur un commandbutton, je vais continuer a chercher avec les modules de classes, mais je ne suis pas contre un peu d'aide

    merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 251
    Par défaut

    salut,

    vérifie dans l'onglet développeur, que tu ne sois pas en mode créatiion
    Nom : Sans titre.png
Affichages : 609
Taille : 14,3 Ko
    a+

  5. #5
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, sorti des décombres, à voir si cela peut t'aider, à adapter à ton contexte.
    Fichiers attachés Fichiers attachés

  6. #6
    Membre habitué
    Homme Profil pro
    technicien qualité
    Inscrit en
    Mai 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Mai 2015
    Messages : 9
    Par défaut
    ba non, je ne suis pas en mode développeur. par contre j ai écris les lignes ci dessus dans l'Userform1, et rien dans un module de classe, c est peu être ça mes lacunes.

    @kiki29

    il est chouette ton fichier, je devrais y trouver plein de choses intéressantes ..., je lis et je reviens

    Merci

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Un début de piste que tu vas devoir adapter à tes besoins mais tu aura déjà le squelette. 0 mettre dans le module de ta Form (UserForm1). Ta Form étant totalement vide de tout contrôles :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    Dim Boutons() As New Classe1
     
    Private Sub UserForm_Initialize()
     
        Dim Btn As MSForms.CommandButton
        Dim I As Integer
        Dim J As Integer
        Dim K As Integer
        Dim Haut As Long
     
        Haut = 5
     
        For I = 1 To 10
     
            Set Btn = Controls.Add("Forms.CommandButton.1", "Btn" & J, True)
     
            With Btn
     
                .Left = 10
                .Top = Haut
                .Width = Me.Width - 20
                .Height = 30
                .Caption = "Mon beau bouton n° " & I
     
                K = K + 1
     
                ReDim Preserve Boutons(1 To K)
                Set Boutons(K).MonBouton = Btn
     
            End With
     
            Haut = Haut + 40
     
            J = J + 1
     
        Next I
     
    End Sub
    cette ligne devant être en tête du module de la Form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim Boutons() As New Classe1
    Dans le module de classe nommé Classe1 (nom par défaut), tu colle ce code-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public WithEvents MonBouton As MSForms.CommandButton
     
    Private Sub MonBouton_Click()
     
        MsgBox "Là, ça marche pil-poil !" & vbCrLf & "Le bouton cliqué est " & MonBouton.Caption
     
    End Sub
    ceci fait, tu lance la Form et tu clique sur un des dix boutons pour voir le résultat.

    Hervé.

  8. #8
    Membre habitué
    Homme Profil pro
    technicien qualité
    Inscrit en
    Mai 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : technicien qualité

    Informations forums :
    Inscription : Mai 2015
    Messages : 9
    Par défaut
    @Theze

    avec ce code, la form m'affiche 4 boutons, pas compris

    @kiki29 et a tous,


    découverte express des modules de classes : ça c est fait
    pomper la création dynamique de commandbutton sur le fichier de kiki29 : ça c est fait

    mais je bloque encore sur le point de départ : sur un fichier xls vierge j'insert un userform1 aves deux commandbutton, ensuite je place dans 1 module de classe le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Option Explicit
     
    Public WithEvents GroupeBtn As MSForms.CommandButton        'déclaration du groupe de boutons
     
    Private Sub GroupeBtn_Click()
    Dim Libellé As String
        Libellé = GroupeBtn.Caption
        MsgBox Libellé
    End Sub

    et je m attend a avoir un msgbox chaque fois que je clique sur un bouton de l'userform1, mais non ca marche pas, et je ne vois pas pourquoi ?

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

Discussions similaires

  1. 'SHOW TABLES' marche pas sous postgresql !?
    Par fet dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 13/05/2004, 09h28
  2. Réponses: 9
    Dernier message: 07/05/2003, 12h57
  3. BCP marche quand il veut !!!!
    Par chris92 dans le forum Outils
    Réponses: 2
    Dernier message: 24/03/2003, 09h41
  4. Comment marche GlutSwapBuffers() ?
    Par Sloughidog dans le forum OpenGL
    Réponses: 2
    Dernier message: 29/09/2002, 14h45
  5. Sysdate qui marche pas ??
    Par StouffR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/08/2002, 13h23

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