Excel Appliquer macro à plusieurs lignes

Sweetpatapouf -  
Gord21 Messages postés 928 Statut Membre -
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 928 Statut Membre 289
 
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