[Catégorie modifiée VB6 -> VBA] Macro VBA

maxime785 Messages postés 4 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 7 juin 2011 - 7 juin 2011 à 00:14
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 7 juin 2011 à 22:35
Bonjour à tous,
Je suis débutant en VBA et il y a 2 questions dont je ne parviens pas à trouver la réponse sur internet :

1 - Comment savoir si un bouton macro est enfoncé ou non ?

2 - Un bouton macro s'enfonce dès qu'on clique dessus, mais la macro correspondante ne s'exécute que quand on relâche le bouton de la souris.
Peux-t-on modifier ceci pour que la macro s'exécute quand on enfonce le bouton macro ?

Si vous pouvez m'aider, grand merci d'avance ?.

Ded78

9 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
7 juin 2011 à 08:26
Salut et bienvenu

Avant de commencer, prends note de la catégorie de la question.
VBA version 6 n'est pas du VB6.

Qu'appelles-tu un "bouton macro" ?
Est-ce un simple bouton ?
Ces boutons possèdent plusieurs évènements. Regarde :
En configuration, double-clique sur ton bouton : tu vas te retrouver dans la page de code dans la procédure nommée monBouton_Click
En haut de la page de code, deux ComboBox = liste de choix :
Celle de gauche permet de sélectionner les objets disponibles
Celle de droite liste tous les évènements disponibles pour l'objet sélectionné.

Dans le cas d'un bouton, il y a plusieurs évènements intéressants :
_Click - no comment
_MouseDown - quand un des boutons de la souris est pressé
_MouseUp - Idem à la relâche du bouton

Il ne te reste plus qu'à mettre ton code dans l'évènement souhaité.

Bien entendu, tout ceci est détaillé dans l'aide de VBA.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 08:40
Bonjour,

je pense qu'il veut parler des boputons affectés à des macros et placés sur la barre d'outils Excel

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 08:57
Si tel est bien le cas (commandbarbutton) ===>> seul l'évènement Click est prévu.
Ouvre quand même ton aide en ligne sur le mot State et voies si tu peux en tirer quelquechose (génération d'un RaiseEvent à ta sauce ?)

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
maxime785 Messages postés 4 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 16:51
Merci de vos réponses, mais ce n'est encore pas gagné, un peu d'indulgence SVP.

Pour le VB6, ce n'est pas moi qui l'ai mis, ou alors j'ai mal regardé. En tous cas, c'était involontaire.

Les boutons macro sont tout simplement ceux qu'on peut tracer sur une feuille Excel avec l'éditeur macro. Suis-je clair ?

- Comment fais-je apparaitre les divers évênements possibles ?
Réponse mâchée SVP.

- J'estime ne pas avoir mes réponses.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 18:02
Les boutons macro sont tout simplement ceux qu'on peut tracer sur une feuille Excel avec l'éditeur macro. Suis-je clair ?

Non.
L'éditeur ne "trace" aucun bouton. L'éditeur te permet d'écrire du code.
Devons-nous deviner qu'il s'agit d'un bouton que tu as inséré sur ta feuille ?
Si oui :
- de quel type est-il ?
- l'as-tu pris dans la "boite à outils contrôles" (activex) ? et il a un évènement mousedown
- l'as-tu pris ailleurs (insertion d'un simple bouton Excel)? et il n'a que l'évènement Quand_Click
Tiens ! un truc très simple. Insère donc un 2ème bouton identique et dis-nous le nom qui lui est attribué par défaut (on saura ce qu'est ce "bouton" et d'où il provient)



____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
maxime785 Messages postés 4 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 21:18
Merci de ta patience, ucfoutu.

Le bouton est crée à partir de : Affichage / Barre d'outils / Formulaires
Si je crée un autre bouton, son nom par défaut est : "Bouton 92"

Ces info sont-elles assez précises ?

Je peux t'envoyer, si besoin est, ce que je veux faire, mais pour ceci il me manque 2 choses :
1 - Je ne sais pas faire (c'est un simple fichier Excel)
2 - Pour terminer ce que j'ai prévu, il faut que j'aie les réponses à mes 2 questions du début !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 21:28
Tu as donc inséré un Bouton Excel (qui ne reconnait que l'évènement Quand_Click (te l'ai dit plus haut)
Insère plutôt un bouton activex pris dans la boite à outils et lui reconnaîtra par contre le Click, le MouseDown, le MouseUp, le MouseMove, etc...
Voilà.

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
maxime785 Messages postés 4 Date d'inscription jeudi 19 juin 2008 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 22:30
Très bien.
Mais si je prends un bouton de la boite à outils qui est dans le menu VBA, je le trace sans problème, mais ensuite j'ai le message : "Impossible d'insérer un objet" !
Et comment faire apparaitre les évènements ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
7 juin 2011 à 22:35
Mais si je prends un bouton de la boite à outils qui est dans le menu VBA, je le trace sans problème, mais ensuite j'ai le message : "Impossible d'insérer un objet"

? ==>> aucune idée sur la raison d'un tel message (sauf si protection mise !)
Et comment faire apparaitre les évènements ?
en double cliquant sur le contrôle ainsi inséré !

____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
0
Rejoignez-nous