Attribuer une macro à un bouton dans Excel

Résolu/Fermé
gatou.nath Messages postés 28 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 28 mai 2009 - 7 août 2008 à 21:17
 PROben - 7 juin 2010 à 15:22
Bonjour,

Je suis un peu dans l'impasse. J'ai réalisé un programme dans excel.

J'ai enregistré quelques petites macros : pour lancer l'impression en double, effacer le contenu des cellules d'un formulaire, faire une archive de la feuille formulaire, etc...
J'ai attribué ces macros à des boutons (placés sur la feuille) pour en faciliter l'accès aux utilisateurs.

J'ai récupéré le code de la macro en passant par outils/macro/macros.../pas à pas détaillé et je l'ai collé (en passant par le mode création du bouton)entre "Private Sub CommandButton1_Click()
" et "End Sub". (Visual Basic).

Tout fonctionnait parfaitement jusqu'à la dernière macro. Elle consiste à copier une ligne (expl : ligne 4)contenant des formules simples (comme : "=formulaire!A2")(et qui se trouve donc dans une autre feuille nommée "BD") et à la coller (valeur et format) dans un tableau récapitulatif trois lignes plus bas(expl : ligne 7).
Puis je fais une insertion de ligne pour faire descendre la ligne 7 et libérer la place pour la prochaine copie.

J'espère que c'est pas trop dur à suivre.

La macro s'exécute parfaitement quand je passe par outils/macro/macros... Mais dès que je fais une copie dans le code du bouton et que je l'actionne, je me retrouve avec une erreur 1004.

Je suis un peu dépitée. J'y ai passé l'après-midi.
Pourquoi les autres marchent et pas celle là ?
Pourquoi le code s'exécute normalement quand je passe par la fenêtre de propriété des macros et pas quand il est collé dans le visual basic editor du bouton ?

Je m'exprime peut-être pas avec les bons termes, veuillez m'en excuser.

Merci d'avance à ceux qui pourront me consacrer quelques minutes...
A voir également:

2 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
7 août 2008 à 22:33
bonjour

Je pense avoir bien suivi ton explication, mais l'erreur 1004 est tellement passe partout que c'est difficile de t'en donner la raison sans pouvoir tester.

Tu pourrais essayer, au lieu de copier ton code dans la macro du bouton, faire tout simplement
Private Sub CommandButton1_Click()
    Call ta_macro
End Sub

Comme ta macro fonctionne, cela devrait te permettre de l'utiliser.
1
gatou.nath Messages postés 28 Date d'inscription samedi 14 juin 2008 Statut Membre Dernière intervention 28 mai 2009
8 août 2008 à 09:31
MERCI ! MERCI ! MERCI ! MERCI !
Ca marche super bien. Avec une réponse aussi simple je doutais.
J'ai même fermer les yeux en appuyant sur le bouton pour ne pas voir la fenêtre de débogage s'ouvrir ENCORE une fois.
Mais CA MARCHE.
MERCI
-1
Ca faisait quelques temps que je ne m'étais pas mis à Visual Basic et ce petit coup de main donné ci-dessus est IDEAL ! Je ne peux que remercier...
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 711
8 août 2008 à 12:18
bonjour

Avec une réponse aussi simple je doutais

La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer : Antoine de Saint-Exupéry,(1900-1944).

Et en informatique, ce ne sont pas les codes verbeux qui sont les plus efficients !
0