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.
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
Qui saurait pourquoi il y a ce problème ? Ou comment je dois procéder pour obtenir ce que je voudrais ?
Merci d'avance pour une réponse. 🙂
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
Qui saurait pourquoi il y a ce problème ? Ou comment je dois procéder pour obtenir ce que je voudrais ?
Merci d'avance pour une réponse. 🙂