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 :

Attribuer une macro a un controle par vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    Bonjour tout le monde.
    Une nouvelle difficulté se présente à moi !
    Sur un usf j'ai créer une cinquantaine de bouton de commande qui apparaissent en vertu d'une boucle for next et d'une condition if ... then bouton i .visible=true.
    Les boutons sont tous créés sur le formulaire et ils sont visibles où je veux quand je veux.
    J'aimerais maintenant leur attribuer une macro "sub la macro" mais par code pour ne pas d'une part écrire 50 fois dans l'évenement on click de chaque bouton et d'autre part je me dis que je pourrais aussi dans ce cas changer de macro affectée au bouton suivant une condition.
    Mes boutons se nomment ctb et j'aimerais donc savoir si on peut écrire quelque chose du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    i = 2
    For Each ctb In usf4.Controls
    If Left(ctb.Name, 3) = "ctb" Then
        If nf.Cells(ind_el, i) <> 0 Then
    ctb.Visible = True
    'c'est là que je compte sur vous !!!
    'ctb.Click = "Private Sub la macro"
    i = i + 1
    End If
    Next ctb
    End With
    End Sub
    d'aprés ce que j'ai lu il faudrait passer par un module de classe mais j'ai jamais fait et j'hésite un peu.
    Si ca peut se faire avec une textbox je prends aussi !!!
    Si vous avez une idée je vous remercie d'avance pour votre aide
    Michel

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    J'aimerais maintenant leur attribuer une macro "sub la macro"
    Chaque bouton a sa macro ou bien une macro identique pour les 50 boutons
    Quel différence entre la macro du bouton 1 et du bouton 36?

  3. #3
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    Mercator ok une macro pour 50 boutons mais ...
    Comment la leur affecter à moins de l'inscrire 50 fois dans l'événement clic de chaque bouton ?

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    C'est faisable et simplement à l'aide des classes

    Mais une question principale, pourquoi affecter une même macro à 50 boutons

  5. #5
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    Merci mercator de confirmer mes craintes S
    Pourquoi 50 boutons ?
    Pour le confort de l 'utilisateur à moins de créer un bouton "flottant" avec la textbox qui va avec ...
    Je prefere faire 50 copier-coller meme si et je le déplore ce n'est guère academique

  6. #6
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Pour le confort de l 'utilisateur à moins de créer un bouton "flottant" avec la textbox qui va avec ...
    et pourtant ! Ce "à moins" est probablement bien plus souhaitable
    Dis-moi : j'espère que tu n'as pas, en plus, 50 textboxes sur ta userform (car là aussi, la conception est peut-être à reconsidérer).

  7. #7
    Membre confirmé
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Par défaut
    Voui unparia !!!
    Maladroite ma conception je ne peux que l'assumer et peut etre même la revendiquer, mais bon quand on sait d'où je suis parti ...
    Voilà je vais essayer d'expliquer le pourquoi
    Mon usf reproduit un bulletin de notes trimestriel avec matiere, discipline et autres réjouissances.
    Pour aider ma compagne à le remplir j'ai mis au point en amont d'autres usf qui lui permettent de créer les tableau de saisie de notes avec moyennes et les commentaires d'acquisition en cours de trimestre.
    Au moment de remplir son bulletin trimestriel j'aimerais qu'elle ait en face de chaque discipline un bouton qui s'affiche lui signalant que un ou plusieurs commentaires sont dispo pour l'élève dans cette discipline.
    J'espère avoir été clair !
    Je vais me pencher sur les modules de classe, si tu peux me conseiller un ou deux tuto ce sera avec plaisir.
    Michel

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Mercator ok une macro pour 50 boutons mais ...
    Comment la leur affecter à moins de l'inscrire 50 fois dans l'événement clic de chaque bouton ?
    L'alternative (et il n'y a pas d'autre solution) est celle qui te fait "hésiter", à savoir :
    d'aprés ce que j'ai lu il faudrait passer par un module de classe mais j'ai jamais fait et j'hésite un peu.
    Ceci étant dit : 50 boutons révèlent le plus souvent une conception "maladroite". A reconsidérer, peut-être ...

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

Discussions similaires

  1. Lancer une macro depuis un control créé par macro
    Par totozor dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/04/2015, 15h45
  2. exécuter une macro 1 seule fois par semaine ?
    Par deby23 dans le forum VBA Access
    Réponses: 9
    Dernier message: 20/12/2012, 11h22
  3. [XL-2007] Assigner une icone dans le ruban personnalisé de'excel et lui attribuer une macro VBA
    Par Romanuche dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 12/07/2009, 10h44
  4. executer une règle de tri outlook par VBA
    Par benpinta dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 06/12/2007, 18h47
  5. Appeler une macro a travers un code VBA
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/06/2007, 11h25

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