[déplacé VB.NET -> VBA] CommandButton pour lancer macro
OcheBise
Messages postés2Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention24 mars 2010
-
14 mars 2010 à 17:15
OcheBise
Messages postés2Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention24 mars 2010
-
24 mars 2010 à 21:18
J'ai un fichier Excel (Excel 2003) formé de plusieurs feuilles. J'ai écrit une macro qui copie automatiquement sur plusieurs autres feuilles des informations de la première feuille. Cette macro marche sans problème. Je voudrais qu'elle soit exécutée seulement en cliquant quelque part sur la première feuille et non pas en demandant l'exécution de la macro. J'ai essayé en utilisant CommandButton. Mais quand j'insère ma macro dans celle de CommandButton, cela ne marche pas. Il ne se passe rien ou bien j'ai une erreur selon ce que j'ai laissé ou enlevé dans ma macro. Qui saurait pourquoi ? Ou comment je dois procéder pour obtenir ce que je voudrais ? Merci d'avance.
A voir également:
[déplacé VB.NET -> VBA] CommandButton pour lancer macro
c148270
Messages postés303Date d'inscriptionmercredi 12 janvier 2005StatutMembreDernière intervention 3 octobre 20131 15 mars 2010 à 02:49
Bonjour
Je ne peut répondre sans avoir connaissance du message d'erreur exact.
une piste :
la macro doit être enregistrée dans la feuille où est le bouton.
On l'affecte au bouton en faisant un clique droit sur le bouton et choisir "visualiser le code".
bonne journée
OcheBise
Messages postés2Date d'inscriptiondimanche 14 mars 2010StatutMembreDernière intervention24 mars 2010 24 mars 2010 à 21:18
Bonsoir
Des événements imprévus m'ont empêché de répondre à ce message du 15 mars. Toutes mes excuses.
J'obtiens :
erreur d'exécution "1004"
la méthode Select de la classe Range a échoué.
Quand je demande le débogage cela m'indique une ligne où il y a :
cells(20 * (numero - 1) + 6, 4).Select
Cette ligne est celle qui suit la ligne :
Sheets("ARVAS").Select
Quand à l'erreur se produit, c'est bien la feuille ARVAS qui est sélectionnée.
Quand je passe la souris au-dessus de numero, j'obtiens : numero= 2 ce qui est normal.
D'autre part la macro est bien enregistrée sur la feuille où est le bouton. Et "envoi" est le nom de la macro qui marche bien quand je demande son exécution directement. Cette macro est écrite en dessous de celle du bouton.
Private Sub CommandButton2_Click()
envoi
End Sub
Merci d'avance pour une réponse.