Copier + insérer une ligne contenant une formule
RésoluMyPamplemousse Messages postés 13 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je souhaite créer une macro qui copie une ligne et l'insère X fois, x étant un nombre indiqué dans une cellule.
J'ai donc créé ce qui suit sur VBA :
Sub dupLigne()
Dim I As Integer
For I = 1 To Range("D1").Value
Range("4:4").Copy
Range("5:5").Insert
Next I
End Sub
Cependant, il y a une fonction dans la ligne qui doit être copier qui indique la date (format mois année). Le but étant que chaque ligne ajoute un mois de plus que la précédente. Malheureusement, lorsque j'exécute la macro, les lignes sont bien insérées mais la formule ne s'adapte pas et indique toujours le même mois.
Pourriez-vous m'indiquer une solution à ce problème ?
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
moi j'essaierais que la formule tienne compte de la ligne dans laquelle elle se trouve.
-
Voici la formule telle qu'elle est actuellement :
=Date(Année(A3);Mois(A3)+1;Jour(A3))
En cellule A3 se trouve une date fixe qui sera modifiée manuellement selon les cas.
Le problème étant que lors de la génération des lignes, la formule s'adapte une fois, remplaçant "A3" par "A4", ce qui est juste mais toutes les lignes suivantes restent également avec la mention "A4", au lieu de s'adapter à chaque fois à la ligne supérieure (A5, A6, A7, etc.)
Sauriez me dire comment faudrait-il adapter la formule pour que l'ajustement du mois soit fonctionnel ?
-
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
suggestion:
Sub dupLigne() Dim I As Integer, rg As Range Set rg = Range("5:5") For I = 1 To Range("D1").Value Range("4:4").Copy rg.Insert Next I End Sub