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

insérer une boucle paramétrée dans une macro

  • Initiateur de la discussion Initiateur de la discussion dedef
  • 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 !

dedef

XLDnaute Occasionnel
Bonjour,

Je suis complètement débutant en macros.
J'ai enregistré la macro suivante pour la feuille AAA.
Je dois reproduire strictement la même action pour plusieurs feuilles (BBB, CCC, ...). Plutôt que de multiplier les macros, j'imagine qu'il est très simple d'insérer une boucle avec comme paramètre le nom des différentes feuilles.

Quelqu'un peut-il me donner la solution?

Merci d'avance.

Sub Recalcule_2009_12()
Sheets("modop").Select
Range("O7:O162").Select
Selection.Copy
Sheets("AAA").Select
Range("E7").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("E7").Select
End Sub
 
Re : insérer une boucle paramétrée dans une macro

bonjour a tous

Code:
Sub Recalcule_2009_12()
feuilles = Array("AA", "BB", "CC") ' mettre ici tous les noms de feuille concernés
Sheets("modop").Range("O7:O162").Copy
For n = LBound(feuilles) To UBound(feuilles)
 Sheets(feuilles(n)).Activate
 Range("E7").Select
 Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Next n
End Sub
 
Re : insérer une boucle paramétrée dans une macro

Merci, ça fonctionne parfaitement.

Une petite question complémentaire : si je veux coller la rangée que j'ai copiée (Sheets("modop").Range("O7:O162").Copy), non plus uniquement à partir de "E7" (Range("E7").Select), mais à partir de "E7" et de "E8", suis-je obligé de faire une seconde boucle, ou puis-je écrire quelquechose du type : (Range("E7:E8").Select)?

Merci d'avance.
 
Re : insérer une boucle paramétrée dans une macro

Re

je te suggere plutot :

Code:
Sub Recalcule_2009_12()
feuilles = Array("AA", "BB", "CC") ' mettre ici tous les noms de feuille concernés
Sheets("modop").Range("O7:O162").Copy
For n = LBound(feuilles) To UBound(feuilles)
 Sheets(feuilles(n)).Activate
 Range("E7").Select
 Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
 Range("E8").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Next n
End Sub
 
- 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

Discussions similaires

Réponses
10
Affichages
791
Réponses
2
Affichages
399
B
  • Résolu(e)
2
Réponses
16
Affichages
2 K
benbella1991
B
M
  • Question Question
Réponses
3
Affichages
806
Mr.Adrien
M
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…