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 :

Cliquer un bouton via VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut Cliquer un bouton via VBA
    *Bonjour*

    J'ai réussi à coder un bouton fantastique qui sera plus que souvent cliqué par l'utilisateur, cependant j'aimerais trouver une façon de cliquer ce bouton via vba.

    Je ne voudrais pas recopier tout le code dans un autre module et le mettre sous worksheet_activate, j'aimerais que quand je fais worksheet_activate vba "clique" sur le bouton en question, lançant du même coup le script qui y est attaché, une des raisons est que le script se sert de la position du bouton pour le positionnement des divers éléments qu'il crée...

    J'ai essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Buttons("nom du bouton").Click
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Buttons("nom du bouton").SetFocus
    SendKeys (" ")
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Buttons("nom du bouton").value = true
    je ne peux croire qu'il existe aucune manière d'y parvenir... je continu à chercher sur le web et dans l'aide mais comme les gens de ce forums m'ont si souvent débloqué je pensais vous demander.

  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
    Bonjour

    Pour ta question technique, je ne vois pas pourquoi tu ne peux pas t'en passer de ton bouton et d'incorporer ton code directement ou tu veux
    sinon: essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
    MsgBox "kuku"
    End Sub
     
    Private Sub Worksheet_Activate()
    CommandButton1_Click
    End Sub

  3. #3
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    Une autre solution. Tu met le code dans une procédure public et tu l'appelles dans les différentes macros. A mon sens plus propre mais je n'ai pas la prétention de faire de jolis programmes


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public sub LaMacro ()
    'ici tout ton code
    end sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    LaMacro
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Activate()
    LaMacro
    End Sub

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    wow, ça c'est beaucoup plus ce que je cherchais, je savais pas que c'était possible donc ma voie la plus simple m'apparaissait être l'activation de mon bouton, je voulais pas recopier le code à chaque fois, pour chaque routine...

    Ça c'est qui arrive quand on apprend vba au fur et à mesure de nos besoins. Pas eu de formation et j'apprend par moi-même au fur et à mesure de mes besoins, parfois la façons que j'emploi pour me tirer d'un pépin n'est vraiment optimale mais c'est la méthode qui me donne des résultat .

    Merci, je vais revoir ma feuille, ça semble simple comme méthode en plus. Je vais essayer de moi même mais au cas... dois-je mettre ma procédure public dans un module ou dans le workbook (ou la worksheet...)?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2009
    Messages : 49
    Par défaut
    je viens d'essayer
    wowowowowowowowowowowowowowow

    ça viens de m'ouvrir TELLEMENT de portes!

    wow

    merci mille fois!

    fini la stupide copie de code ad nauseam, public ftw!!

    je clique très fort sur résolu!

    PS: mille pardons à Mercatog qui encore une fois avais trouvé la solution directe à mon problème seulement cette méthode de réutiliser le code via public, c'est juste trop sexy!

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

Discussions similaires

  1. Insertion d'une macro dans un bouton via VBA
    Par macx56 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/05/2014, 19h20
  2. [OL-2010] Création Mail via VBA et bouton
    Par John86 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 20/02/2013, 12h08
  3. [XL-2007] Créer un bouton dans la barre d'accès rapide via VBA
    Par Danieldu54 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/03/2011, 00h05
  4. Réponses: 1
    Dernier message: 18/06/2008, 09h32
  5. assigner macro à un bouton via VBA
    Par ouioui_cmoi dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 25/03/2008, 15h02

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