COmment lancer cette macro via un objet
Koalacid
Messages postés
70
Statut
Membre
-
Koalacid Messages postés 70 Statut Membre -
Koalacid Messages postés 70 Statut Membre -
Bonjour,
J'ai une macro dont le code est le suivant (je ne vous met que le début):
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,
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:
- COmment lancer cette macro via un objet
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Lancer une application au démarrage windows 10 - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
- Vente objet occasion entre particulier - Guide
3 réponses
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
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
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
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
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).
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).