Répeter les ligne d'une base de données selon un critére

Voila ma problématique;

J'ai une base de données qui comporte un certain nombre d'informations; dans la quelle chaque ligne représente une mission avec une date de début et une date de fin. Je doit répéter chaque ligne de cette base de données selon le nombre de semaines qu'elle comporte, exemple : si la mission est composée de 4 semaine je répété la ligne 4 fois.

J'ai crée un excel avec un exemple.

Merci d'avance pour votre aide!

37exemple.xlsx (13.53 Ko)

bonjour,

une proposition à adapter

Sub aargh()
    ld = 12 'ligne destination
    For i = 3 To 4 ' lignes bdd initiales
        nl = Cells(i, "K") - Cells(i, "j") 'nl nombre de lignes à créer
        Range("C" & i & ":J" & i).Copy Range("C" & ld & ":J" & ld + nl) ' copie de nl lignes
        For j = ld + 1 To ld + nl 'adaptation du numéro de semaine
            Cells(j, "J") = Cells(j - 1, "J") + 1
        Next j
        ld = ld + nl + 1
    Next i
End Sub

wow merci c'est parfait!

Serait-il juste possible de changer la "ligne destination" en cellule destination sur une autre feuille ?

PS: je suis une bille en VBA

bonjour,

voici

Sub aargh()
Set ws1 = Sheets("feuil1") ' feuille source
Set ws2 = Sheets("feuil2") ' feuille destination
    ld = 12 'ligne destination
    'on se base sur la colonne K pour determiner le nombre de lignes source à traiter
    dl1 = ws1.Cells(Rows.Count, "K").End(xlUp).Row
   For i = 3 To dl1 ' lignes bdd initiales
       nl = ws1.Cells(i, "K") - ws1.Cells(i, "j") 'nl nombre de lignes à créer
       ws1.Range("C" & i & ":J" & i).Copy ws2.Range("C" & ld & ":J" & ld + nl) ' copie de nl lignes
       For j = ld + 1 To ld + nl 'adaptation du numéro de semaine
           ws2.Cells(j, "J") = ws2.Cells(j - 1, "J") + 1
        Next j
        ld = ld + nl + 1
    Next i
End Sub

Merci beaucoup vous me faite économiser une journée de travail par semaine

Rechercher des sujets similaires à "repeter ligne base donnees critere"