COmment lancer cette macro via un objet

Fermé
Koalacid Messages postés 70 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 8 mars 2016 - 2 juin 2015 à 18:47
Koalacid Messages postés 70 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 8 mars 2016 - 2 juin 2015 à 20:02
Bonjour,

J'ai une macro dont le code est le suivant (je ne vous met que le début):


Sub Worksheet_Change(ByVal Target As Range)

' Verification que c'est la cellule C2 qui a changé
If Not Intersect(Target, Range("C2")) Is Nothing Then
' et si c'est le cas :
.......



Ainsi, à chaque fois que la cellule C2 de ma feuille active est modifiée, la macro se lance.

Problème, ça fonctionne une fois sur deux.

Ce que je me demande: comment faire pour lier le lancement de cette macro à un bouton ou un objet?

J'aurais pu répondre à cette question tout seul si je n'étais pas en présence d'un objet microsoft excel qui diffère des modules bien connus.

Alors quelle est la différence entre le module et cette macro? Comment la lancer via un bouton simple d'utilisation?


Cordialement,
A voir également:

3 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 427
Modifié par ccm81 le 2/06/2015 à 19:15
Bonjour

1. Tu commences à mettre un bouton, pris de préférence dans la "boite à outils controles" dans ta feuille Affichage/Barres d'outis/Boite à outils controles
L'equerre bleue permet de passer du mode création au mode exécution
Donc clic-sur l'equerre bleue
Tu choisis l'objet bouton et tu le mets dans ta feille
Clic-droit sur le bouton/Propriétés
Name tu mets un nom qui parle ex btOK
Caption : texte visible sur le bouton par ex OK
2. Cli-clic sur le bouton, te place dans l'éditeur vba dans le code du clic-sur-le-bouton
tu complètes avec ton code sans l'entête de ta macro (pas worksheet_change et pas End sub
3. il faudra peut être aménager ton code
4. Retour dans la feuille et clic sur l'équerre bleue pour passer en mode exécution
5. C'est tout ... ou presque

Un exemple
https://www.cjoint.com/c/EFcriWHo011

Bon courage
0
via55 Messages postés 14499 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 26 novembre 2024 2 735
Modifié par via55 le 2/06/2015 à 19:19
Bonsoir

Pour placer un bouton et lui affecter un code :
Onglet Developpeur puis Inserer Contrôle Active X et choisir l'icone bouton et dessiner le bouton à l'emplacement voulu de la feuille
Une fois le bouton en pace, clic droit sur le bouton et Visualiser le code
Copier les lignes de ta macro sans le If devenu inutile) et la copier entre :
Private Sub CommandButton1_Click()
End Sub

Cdlmnt
Via

"L'imagination est plus importante que le savoir." A. Einstein
0
Koalacid Messages postés 70 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 8 mars 2016 2
2 juin 2015 à 20:02
ccm81, je n'ai pas compris où tu trouvais le bouton dans le ruban d'excel.

via55 j'ai essayé ta méthode mais le code que j'ai n'est pas celui d'une macro comme les autres (il faut comprendre par là que je ne sais pas exactement ce que c'est). Je ne sais pas si ça a un impact mais en tout cas je n'arrive pas à actionner le bouton via un simple click.

En fait, ce code n'est pas dans un module, mais directement mis sur une worksheet. L'idée à la base était que dès la cellule C2 (qui est une liste déroulante) change alors la macro se déclenche et lance une 20aine de copier/coller sur plusieurs fichiers externes (pour résumer brièvement la macro).
0