J'ai une macro
J'inserte un module, je met la macro dedans, je crée un bouton pour exécuter la macro. Et là la marco ne tourne pas. Où est le problème? 8OCode:
1
2
3
4 Sub ma_macro() End Sub
Merci
Version imprimable
J'ai une macro
J'inserte un module, je met la macro dedans, je crée un bouton pour exécuter la macro. Et là la marco ne tourne pas. Où est le problème? 8OCode:
1
2
3
4 Sub ma_macro() End Sub
Merci
Salut.
Si c'est la macro que tu as donnée qui ne "tourne" pas, vu qu'il n'y a rien dedans, ... c'est normal qu'elle ne "tourne pas"...
Comment constates-tu que la macro ne "tourne" pas? Message d'erreur, absence de réaction, ...?
As-tu bien affecté la macro au bouton? (clic droit sur le bouton puis Affecter une macro)
La macro fonctionne-t-elle sans le bouton?
La macro a-t-elle besoin de paramètres? Si oui, il est impossible de l'affecter à un bouton...
Comme disait l'autre: Aide-toi, le forum t'aidera...
non bien sur qu'il y a du code dans la macro, celle au dessus c'est...un exemple :mouarf:
je m'explique :
J'ai un fichier Excel, je crée un Sheet1. Je fais View/Toolbars/Control Toolbox. Je crée un Command Button. Ensuite je fais clique droit sur le bouton, puis View Code. J'arrive sur l'éditeur VBA, avec un bout de code de la macro attaché au bouton que je viens de créer. Je tapes les lignes de codes. Quand je reviens sur Excel, je clique le bouton, la macro marche (elle fait quelque chose, peu importe).
Mais là, la macro se situe au niveau Sheet1(nom_du_sheet).
Je copie le code, je met dans Module1. Ca ne marche plus. Je clique le bouton, rien ne se passe.
Voila je penses que j'ai assez détaillé.
Cordialement
Tu ne peux pas la déplacer ainsi.
Le bouton de la "toolbox" est attaché à la feuille, et l'événement sur click de ce bouton doit être dans le module de la feuille qui supporte ce bouton.
Dès lors, si tu veux "détacher" le code du bouton de la feuille et le mettre dans un module standard, tu dois créer une procédure dans le module standard, y mettre le code du bouton, et remplacer ce code dans la procédure _click du bouton par un appel à la procédure dans le module standard...
En clair, cela donne ceci.
Avant, tu avais ceci dans un module de feuille
Maintenant, tu dois avoir, dans le module de la feuilleCode:
1
2
3
4
5
6 Private Sub CommandButton1_Click() MaPremièreLigne ... ... MaDernièreLigne End Sub
et dans un module standardCode:
1
2
3 Private Sub CommandButton1_Click() MaProcedure End Sub
Code:
1
2
3
4
5
6 Sub MaProcedure() MaPremièreLigne ... ... MaDernièreLigne End SuB
Merci, ça fonctionne parfaitement. :ccool: