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 :

[EXCEL - VBA] Plusieurs boutons = une fonction


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 30
    Points
    30
    Par défaut [EXCEL - VBA] Plusieurs boutons = une fonction
    Bonjour.... Voila mon problème du jour ! lol (plutôt ce ces jours)

    J'ai une forme avec des boutons.. tout plein de boutons !!!

    J'aimerais en cliquant sur n'importe lequel, que la même fonction soit appelée, et que dans cette fonction je puisse reconnaitre de quel bouton cela vient !!! Facile quoi !

    (je ne veux pas creer un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Private Sub wp_reset_5_Click()
    ...
    ...
    End Sub
    pour chaque bouton... c'est lourd et c'est moche!!

    Qq a t'il une petite piste que je puisse explorer... juste qq mots, après je cherche!!!
    (est ce que faire une collection de mes boutons serait une piste ?)

    Voila.. Merci

  2. #2
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour,
    tu peux faire qqch comme ça
    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
     
    Private Sub CommandButton1_Click()
    maMacro
    End Sub
    Private Sub CommandButton2_Click()
    maMacro
    End Sub
    ................
    Private Sub CommandButton20_Click()
    maMacro
    End Sub
     
    Private Sub maMacro()
    MsgBox Me.ActiveControl.Name
    End Sub
    cordialement

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 30
    Points
    30
    Par défaut Merci.. mais non..
    Merci du conseil, mais c'est ce que je ne veux pas faire !!!


    Faire ca pour chaque bouton.. environ 30.... me semble vraiment lourd !!!

    J'aimerais trouver quelque chose de plus compact !!!

    qq a t'il une autre idée ?

    Merchhiiii

  4. #4
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour,

    Fais une recherche du coté des Modules de classe.

    cordialement

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Points : 30
    Points
    30
    Par défaut Binggooo......
    Ok, j'ai réussi a faire quelque chose.... mais pas sans peine vu mon niveau

    Avec les modules de classe... Merci pour le conseil... c'est génial d'ailleurs !!!

    Bon d'accord j'ai encore du mal a m'y retrouver.....

    Voila mon code pour ceux que cela intéresse:

    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
     
     
    'Dans mon form
    Private Sub UserForm_Initialize()
     
    Dim Objet_control As Control
    Set Collect_control = New Collection
    For Each Objet_control In Me.Controls
    If TypeOf Objet_control Is MSForms.CommandButton Then
    If Left(Objet_control.Name, 9) = "wp_reset_" Then
          Collect_control.Add New Classe_Bouton_wp_reset
          Set Collect_control(Collect_control.Count).control_numero = Objet_control
    End If
    End If
    Next
    ----------------------------------------------------------------------
    'Dans un module classique
    Public Collect_control As Collection
     
     
    '----------------------------------------------------------------------
    'Dans un module de classe Nomme comme il se doit (voir code dans form)
    ' ici nom = Classe_Bouton_wp_reset
     
    Public WithEvents control_numero As CommandButton
    'Detecter un Evenement de type click
    Private Sub control_numero_click()
     
    'Exemple ici pour récupérer une information dans le tag du control
    MsgBox "Bouton n " & Me.control_numero.Tag
     
    End If
    End Sub
    Ya peut être des choses a améliorer, mais c'est n'est pas de mon niveau... mais je suis preneur..

    Voila.. encore merci pour la piste !!!!!!

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

Discussions similaires

  1. [XL-2007] Excel VBA Création d'une fonction
    Par Tisbouch dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/05/2010, 19h22
  2. Réponses: 10
    Dernier message: 19/03/2007, 17h55
  3. [VBA-Excel] copier plusieurs fois une colonne dans une feuille Excel
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/08/2006, 18h43
  4. Réponses: 3
    Dernier message: 25/07/2006, 09h25
  5. [VBA-E] avec une fonction value
    Par laas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/11/2002, 13h22

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