Excel Appliquer macro à plusieurs lignes

Fermé
Sweetpatapouf - 3 mars 2010 à 16:35
Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 - 3 mars 2010 à 21:45
Bonjour,

Je voudrais appliquer une macro à plusieurs lignes en même temps. Ma macro de base me sert à insérer une ligne en copiant automatiquement des formules dans certaines colonnes (en l'occurence N et G).
ça marche nickel, mais je suis obligée d'inserer les lignes 1 par 1, ce qui peut être un peu long... Comment faire pour que la formule marche sur plusieurs lignes en même temps?

Voilà la macro d'origine:
Dim R As Integer
R = ActiveCell.Row
Rows(R).Select
Selection.Insert Shift:=xlDown
Range("N" & R - 1).Select
Selection.Copy
Range("N" & R).Select
ActiveSheet.Paste
Range("G" & R - 1).Select
Selection.Copy
Range("G" & R).Select
ActiveSheet.Paste
Application.CutCopyMode = False



Je remercie d'avance qui pourra m'aider sur ce coup là....

1 réponse

Gord21 Messages postés 918 Date d'inscription samedi 21 novembre 2009 Statut Membre Dernière intervention 20 mars 2013 287
3 mars 2010 à 21:45
Bonsoir,
Une façon de le faire serait de faire une boucle :

R = ActiveCell.Row 
For i = 0 To (nb_fois - 1)
   Rows(R).Select 
   Selection.Insert Shift:=xlDown 
   Range("N" & R - 1).Select 
   Selection.Copy 
   Range("N" & R).Select 
   ActiveSheet.Paste 
   Range("G" & R - 1).Select 
   Selection.Copy 
   Range("G" & R).Select 
   ActiveSheet.Paste 
   Application.CutCopyMode = False
Next i


nb_fois étant le nombre de fois que tu veux copier tes lignes, tu le passe en paramètre de ta procédure. Sinon, si tu veux toujours ajouter 3 lignes par exemple, il est possible de modifier le code pour éviter ce type de boucle.
@+
1