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 Access Discussion :

evenement click commun à plusieurs bouton


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut evenement click commun à plusieurs bouton
    Bonjour, le libéllé n est peut etre pas tres clair donc je m explique

    j'ai un ensemble de 28 boutons et je voudrais avoir un evenement commun a ces 28 bouton sur le click de la souris
    ce qui m eviterai de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    private sub ctl1_click
    call fction (1)
    end sub
    car je passe le numero du controle dans une fonction

    voila je pense que par du VB pure les controles peuvent etre indexé et que ca doit etre possible mais ne VB je ne trouve ni la solution technique, ni une astuce qui me permettrait de contourner le probleme

    merci d'avance pour vos solutions ou suggesstions

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    mettre des boutons bascules dans un groupe d'options

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    je ne connais pas les groupes d options mais je vais regarder
    pourquoi des boutons bascules et pas des bouton simples ?
    je vais regarder cette piste merci pour cette premiere reponse

  4. #4
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 762
    Points
    7 762
    Par défaut
    Bonjour,

    une solution que j'ai vue un jour sur ce forum :

    Créer une fonction dans le module de code du formulaire.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function cmdClickCommun(strName As String)
    ' Si besoin, je peux savoir quel bouton a généré l'appel de cette fonction
    ' grace à strName
    End Function
    Pour les boutons qui devront partager cette fonction lors de l'événement "sur Clic",
    mettre dans la propriété "Sur Clic"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =cmdClickCommun("NomDuContrôle")
    Lors de l'évenement "Sur Clic", la fonction cmdClickCommun(..) sera appelée.

    Par exemple si j'ai quatre contrôles de type bouton nommés cmdBouton1, cmdBouton2, cmdBouton3, cmdBouton4.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =cmdClickCommun("cmdBouton1")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =cmdClickCommun("cmdBouton2")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =cmdClickCommun("cmdBouton3")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =cmdClickCommun("cmdBouton4")
    A+

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    merci de cette deuxieme reponse par contre je ne comprend pas ou tu me dis de mettre le code d'appel de fonction
    tu me dis dans la "proprieté click" mais c'est a dire ?
    je met l'appel de fonction dans la proprieté ?la fonction doit donc etre public c est ca ?



    pour ce qui ets de la premiere solution , elle marche bien mais il ets impossible d'avoir tous mes boutons relachés en meme temps et je ne souhaite pas avoir en permanence un bouton enfoncé

    en totu cas merci de vos reponse , je sens que je touche au but


    PS: je viens de trouver merci pour cette derniere solution, je vais essayer de la mettre en oeuvre, j ai reussi l appel de fonction public dans la propriété , je ne savais pas que c etait possible. des que j ai reussi je poste pour la resolution

    merci encore

  6. #6
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    pour que les boutons restent relachés, il suffit de récupérer la valeur puis d'affecter la valeur 0 au groupe d'options ce qui a pour effet de relacher le bouton

  7. #7
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    on peut éviter de fastidieux remplissage de propriété sur Clic en chargeant ces propriétés par le code sur l'événement Load du formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim ctl as Control
    for each ctl in me.Controls
       if ctl.controltype = acCommandButton then
          ctl.OnClick = "=MaFonctionGénérique(""" & ctl.name & """)"
       End if
    next ctl
    set ctl = nothing
    ou aussi un exemple ici
    http://www.developpez.net/forums/d26...ent-controles/

  8. #8
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    bonjour à tous,

    il est aussi possible d'utiliser l'appel d'une fonction sans utiliser de paramètre si l'on fait un select case sur le Screen.ActiveControl.Name


Discussions similaires

  1. Evenement click sur plusieurs workbook
    Par marcelo76 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/05/2013, 21h47
  2. Réponses: 9
    Dernier message: 12/04/2013, 18h01
  3. Réponses: 7
    Dernier message: 26/05/2011, 09h37
  4. Gérer le click de plusieurs boutons en une seule procédure
    Par OhMonBato dans le forum Windows Forms
    Réponses: 12
    Dernier message: 20/03/2008, 18h32
  5. Réponses: 15
    Dernier message: 21/07/2005, 15h05

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