Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recopie de macro différents onglets

  • Initiateur de la discussion Initiateur de la discussion bbloup47
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

bbloup47

Guest
Bonjour à tous, j'ai enregistré une petite macro qui sert seulement à trier la page active. Dans mes classeurs il y a plusieurs pages avec différents noms d'onglets. Présentement lorsque je recopie cette macro je dois toujours renommer "Feuil1" au nom de l'onglet de la page active et tout fonctionne bien,
Alors, je me demande s'il existe une façon de recopier cette macro sans que je n'ait à changer le nom de "Feuil1" ("légumes" dans l'exemple)? un code qui saurait repérer le nom de l'onglet de la page active ou autre ?

merci de votre attention et bonne journée à tous.
 
Dernière modification par un modérateur:
Re : recopie de macro différents onglets

Bonjour,

il suffit d'écrire la macro dans un module, et d'envoyer la feuille en paramètre.

Recopie le code que tu as écrit dans un module, puis change le ActiveWorkbook.Worksheets("légumes") par W simplement.
Ensuite il faut passer W en paramètre... c'est à dire pour ce code :
Sub tri_légumes(W as worksheet)

ensuite dans chaque feuille, tu crées une macro qui appelle cette fonction
sub macro()
tri_legumes(Me) 'Me désigne la feuille dans laquelle tu écris la macro
end sub
 
Re : recopie de macro différents onglets

bonjour solquagerius,

j'ai copié ce code dans un module de la feuille "légumes"
j'apelle donc Sub macro() à chaque feuille et ça me donne un message d'erreur : " utilisation incorecte du mot clé Me " j'ai essayé de changer Me pour légumes vu que c,est à partir de cete feuille que j'ai copié le premier code mais ça ne fonctionne pas.

je ne comprend pas ou je fais erreur ?

merci de me répondre svp.

bbloup
 
Dernière modification par un modérateur:
Re : recopie de macro différents onglets

re bonjour c'est juste pour ramener le sujet car j'ai pas encore trouvé comment faire. merci de m'aider.

bbloup
 
Dernière modification par un modérateur:
Re : recopie de macro différents onglets

re bonjour c'est juste pour ramener le sujet car j'ai pas encore trouvé comment faire. merci de m'aider.

bbloup
 
Re : recopie de macro différents onglets

Bonjour,

modifie ainsi :

Code:
tri_legumes Me

attention ta procédure "tri_legumes" a un accent, ton instruction n'en a pas, généralement il est conseillé d'éviter l'accentuation dans les noms des variables et procédures...

d'autre part la méthode "sort" s'applique à un objet range et non a une feuille de calcul, enfin sous 2003, vu ton code il semblerait que tu sois sous 2007.... si cela provoque une erreur, modifie peut être ces lignes, je ne pourrais t'en dire plus, car la méthode "sort" est gérée différemment sous 2007 :

Code:
    Range("A2:L46").Select
    W.Sort.SortFields.Clear

comme ceci :

Code:
    W.Range("A2:L46").Sort.SortFields.Clear

bonne journée
@+
 
Re : recopie de macro différents onglets

Merci beaucoup de ton aide Pierrot93, j'ai bien essayé et revérifié apporté les modifications suggérées mais ça ne fonctionne pas...Si vous avez d'autre chose à me proposer je suis preneur.

bonne journée à tous,

bbloup
 
Re : recopie de macro différents onglets

Re,

ca ne fonctionne pas veut dire quoi ? message d'erreur ou pas le résultat attendu ? les instructions vba lié au tri sous 2007 étant spécifiques, je te suggère également de faire un tour du coté du forum dédié :

Forum spécial EXCEL 2007 - Excel Downloads Forums

bon après midi
@+
 
Re : recopie de macro différents onglets

Bonjour Pierrot93,
il y a effectivement un message qui aparaît lors que je veux effectuer le tri : "propriété ou méthode non gérée par cet objet" et cette macro doit servir sur excel 2003... c'est pourquoi j'adresse ma demande ici.

bonne journée et @+
 
Re : recopie de macro différents onglets

Re,

sous 2003, dans les modules de tes feuilles :

Code:
Sub macro()
tri_legumes Me 'Me désigne la feuille dans laquelle tu écris la macro
End Sub

dans le module standard :

Code:
Sub tri_legumes(W As Worksheet)
W.Range("A1:L46").Sort key1:=W.Range("A1"), order1:=xlAscending, header:=xlYes
End Sub

@+
 
Re : recopie de macro différents onglets

merci beaucoup Pierrot je vais essayer ça cet après midi chez ma petite soeur..🙂

bonne journée et merci encore
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
1 K
M
Réponses
2
Affichages
1 K
M
E
  • Question Question
Réponses
6
Affichages
1 K
elmilo13
E
M
Réponses
0
Affichages
915
MathieuMC
M
C
Réponses
1
Affichages
4 K
Conrad13
C
N
Réponses
2
Affichages
2 K
Nicolaij74
N
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…