Duplication lignes x fois en fonction de dates

Bonjour à tous,

J'ai une problématique avec un fichier que je souhaite transformer pour une intégration.

J'ai un fichier source avec des lignes qui contiennent une date de début et une date de fin.

Je souhaite avoir un fichier avec une ligne par jour.

Je ne sais pas comment expliquer ma problématique clairement par écrit alors j'ai mis un fichier exemple avec un onglet "Source" qui contient les données à dupliquer sous le format dans l'onglet "Résultat attendu".

Si vous avez une idée, je suis très preneur!

Bonne journée à tous!

1exemple.xlsx (9.79 Ko)

Bonjour

Votre fichier en retour

Cliquez sur le bouton placé dans la feuille Source

Cordialement

23exemple.xlsm (17.11 Ko)

Bonjour Dan,

Merci pour votre réponse qui correspond "presque" à ce que j'attends.

En effet, il faudrait que les dates soient "glissées". Par exemple, pour la première ligne de "Source" qui est entre le 02/06 et 05/06, il faudrait dans "Résultat attendu" :

Ligne 1: 02/06

Ligne 2: 03/06

Ligne 3: 04/06

Ligne 4: 05/06

Sinon, dans l'exemple précédent, la duplication se faisait sur 3 lignes au lieu de 4. Mais ça j'ai pu le corriger.

En tout cas, merci pour cette belle réactivité!

Cordialement,

Re

Remplacez le code par celui-ci :

Sub test()
Dim d
Dim lig As Integer, i As Integer, j As Integer
Dim z As Byte

Sheets("Résultat attendu").Range("A1").CurrentRegion.Offset(1, 0).ClearContents
lig = 2
With Sheets("source")
For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
    d = .Range("C" & i).Value - .Range("B" & i).Value
    z = 0
    For j = 1 To d + 1
        .Range("A" & i & ":E" & i).Copy Sheets("Résultat attendu").Range("A" & lig)
        Sheets("Résultat attendu").Range("B" & lig) = .Range("B" & i).Value + z
        z = z + 1
        lig = lig + 1
    Next j
Next i
End With
End Sub

Crdlt

Génial!!! Merci beaucoup!

J'ai toujours eu du mal avec les boucles...

Rechercher des sujets similaires à "duplication lignes fois fonction dates"