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

Copier Lignes autant de fois que le nombre indiqué dans une cellule

sophievba

XLDnaute Junior
Bonsoir le forum,

Petite question ne sachant pas si cela est possible en VBA.

Est-il possible de dupliquer une ligne et la coller juste en dessous autant de fois que le nombre qui est indiqué dans une cellule ?

Ex : Copier coller la ligne 1, 5 fois si le chiffre 5 apparait dans la cellule C1 de la ligne 1.
La copier 10 fois si le chiffre 10 dans cette même cellule

Par avance, merci pour votre précieuse aide.

Sophie.
 

eriiic

XLDnaute Barbatruc
Re : Copier Lignes autant de fois que le nombre indiqué dans une cellule

Bonjour,

La copier par insertion :
Code:
Sub dupLigne()
       Rows("1:1").Copy
       Rows("2:" & 2 + [C1]).Insert Shift:=xlDown
End Sub
eric
 

Theze

XLDnaute Occasionnel
Re : Copier Lignes autant de fois que le nombre indiqué dans une cellule

Bonjour,

Est-ce ce que tu veux ?
Code:
Sub Copier()

    Dim I As Integer

    For I = 1 To Range("C1").Value
    
        Rows(1).Copy Range("A" & I + 1)
    
    Next I
       
End Sub

Hervé.
 

jpb388

XLDnaute Accro
Re : Copier Lignes autant de fois que le nombre indiqué dans une cellule

bonjour à tous
et aussi
 

Pièces jointes

  • Classeur1.xlsm
    15.7 KB · Affichages: 838
  • Classeur1.xlsm
    15.7 KB · Affichages: 827
  • Classeur1.xlsm
    15.7 KB · Affichages: 861

sophievba

XLDnaute Junior
Re : Copier Lignes autant de fois que le nombre indiqué dans une cellule

Bonjour le Forum, Eriiiic, Theze, jpb388,

Merci pour vos réponses.
Après X tentatives hier soir, je n'y croyez plus.

J'ai testé vos codes et cela correspond exactement à ce que je cherchais.
Je suis trop contente. Merci beaucoup.

Dernière petite question qui n'a rien à voir avec la demande initiale.
Comment faire pour mettre une valeur par défaut (EX: OK) dans la cellule D1 si vide uniquement et si la cellule B1 est remplie.

Encore un grand merci.

Bonne journée à tous.

Sophie.
 

eriiic

XLDnaute Barbatruc
Re : Copier Lignes autant de fois que le nombre indiqué dans une cellule

Re,

if [D1]="" and [B1]<>"" then [D1]="OK"
Si ce n'est pas la feuille par défaut modifier en [Feuil3!D1] pour les cellules concernées.

eric
 

sophievba

XLDnaute Junior
Re : Copier Lignes autant de fois que le nombre indiqué dans une cellule

Re Eriiiic,

Merci pour ta réponse.

Je vais me faire tuer, alors milles excuses à l'avance.

En pensant que ca ne se faisait pas de poser des questions différentes dans un même post j'en ai ouvert un autre en parrellèle.

Je m'excuse et j'espère que tu ne m'en veux pas.

Merci pour ton aide.

Sophie.
 

sophievba

XLDnaute Junior
Re : Copier Lignes autant de fois que le nombre indiqué dans une cellule

Bonjour le forum,

Je reviens vers vous car je souhaite apporter une modification à ce code que vous m'avez gentiment fourni et qui fonctionne très bien mais que je n'arrive pas à l'adapter à mon nouveau cas, si vous pouviez m'aider SVP ?

Voilà la modification que je tente en vain de faire fonctionner.

je souhaite dupliquer la ligne à la première ligne vide autant de fois que la valeur indiquée en C1 et non sous la ligne ou se trouve la valeur en C1 comme initialement prévu car il est possible que la ligne suivante contienne déjà des données.

Et là je bloque complètement.

Je vous remercie pour votre aide et vous souhaite un bon WE.

Sophie.
 

TempusFugit

XLDnaute Impliqué
Re : Copier Lignes autant de fois que le nombre indiqué dans une cellule

Bonjour


Avec ce que j'ai compris
(Cela équivaut à faire un CTRL+B)


Code:
Sub Macro1()
Range("A1:B1").Resize(Range("C1")).FillDown
End Sub

par exemple si en A1=a et B1=b et C1=10
le résultat de la macro ci-dessus sera:
La plage A1:A10 contiendra a
et la plage B1:B10 contiendra b
 
Dernière édition:

Alext21

XLDnaute Nouveau
Bonjour,

suite au message ci-dessus, j'essaie d'adapter cela à mon besoin sans grande réussite, je m'explique:

dans la colonne A, j'ai une liste de repère (variable).
Je souhaite dupliquer chaque repère de la colonne A en colonne C , X fois, tous les uns en dessous des autres.
En colonne B, en face chaque repère de la colonne A, j'écris le nombre de fois (le fameux X) que je veux dupliquer chaque repère.

Savez-vous comment je peux mener cela à bien svp ?

Merci d'avance
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…