XL 2016 [RESOLU] dupliquer les lignes X fois selon valeur

ivan27

XLDnaute Occasionnel
Bonsoir et bon week-end à tous,

Je souhaite dupliquer toutes les lignes d'une liste selon la valeur de la colonne D en conservant les valeurs et les formules.

Si par exemple en colonne D j'ai le chiffre 5 la ligne en question doit donc être dupliquée 4 fois pour en avoir 5 en tout.

Merci d'avance pour votre aide.

Ivan
 

Pièces jointes

  • test.xlsx
    10.5 KB · Affichages: 25

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @ivan27,

Essayez ce code :
VB:
Sub dupliquer()
Dim derlig&, dercol&, i&, n&

  Application.ScreenUpdating = False
  With ActiveSheet
    derlig = .Cells(.Rows.Count, "a").End(xlUp).Row
    dercol = .Cells(1, .Columns.Count).End(xlToLeft).Column
    For i = derlig To 2 Step -1
      n = .Cells(i, "d")
      If n > 1 Then
        .Cells(i, "a").Resize(, dercol).Copy
        .Cells(i, "a").Resize(n - 1, dercol).Insert Shift:=xlDown
      End If
    Next i
  End With
  Application.CutCopyMode = False
End Sub
 

Pièces jointes

  • ivan27- dupliquer- v1.xlsm
    20.4 KB · Affichages: 33
Dernière édition:

ivan27

XLDnaute Occasionnel
Bonjour mapomme, le forum,

Merci mapomme pour tes propositions.
La version 1 fonctionne mais est effectivement un peu longue; test effectué sur 1500 lignes.
Je n'arrive pas a faire fonctionner la version 2.
J'ai un blocage sur la ligne :
.Cells(1, "a").Resize(derlig, dercol + 1).Sort Range("e1"), Header:=xlYes
''La méthode Sort de la classe Range a échoué''
Par ailleurs, est-il possible de conserver l'ordre des lignes d'origine après application de la macro ?
Bien cordialement et bonne journée à tous
 

Vincent OURIET

XLDnaute Nouveau
Bonjour à tous je viens de m'inscrire sur le forum et suis novice.
J'ai utilisé la première macro de Mapomme qui me satisfait entièrement excepté le fait que pour certaines valeurs à dupliquer il arrive parfois que j'ai une demande à 0. En conséquence la ligne reste identique ne se duplique pas mais serait il possible pour cette demande qu'elle soit supprimée.
Il y a t il une commande supplémentaire à ajouter en pareil cas.
Vous remerciant par avance.

Bonne fin de journée.
 

Vincent OURIET

XLDnaute Nouveau
Bonsoir Mapomme et merci pour la bienvenue ainsi que pour la prompte réponse

C'est tout à fait cela sur la colonne de duplication sont indiquées les facteurs de duplications mais il peut en effet arriver que ce facteur de duplication soit à 0 en conséquence en ce cas nous n'avons pas besoin de la ligne. Il s'agit d'une commande groupée et parfois plusieurs colis sont demandés pour un site ou pas du tout. Comme le client a un masque il ne rentre que les facteurs de duplications.
Pour le fichier je ne l'ai pas sur tablette je le modifie et vous l'envoi dès que possible.

Vous souhaitant une bonne soirée.

Vincent
 

Annezo

XLDnaute Nouveau
Bonjour à tous,

Je n'y connais rien en VBA et j'ai une urgence absolue... j'ai un tableau excel de plus de 40000 lignes, et je dois dédoubler les lignes suivant le nombre de mails renseignés dans la colonne E : "Opérant V2". Si 3 mails, copier 2 fois la ligne entière pour avoir un mail sur chaque ligne en conservant tous les données de la ligne...

Je ne sais pas si j'ai été clair... mais voilà la problématique !

Si quelqu'un peu m'aider s'il vous plait...
 

Pièces jointes

  • DRIM SE-FICHIER TABLE OP_LOC PAR DRIM V5.1.xlsx
    11.9 KB · Affichages: 3

Discussions similaires

Réponses
22
Affichages
691