Sub ddddd()
Dim L&, i&, Q&, ZZ&
'défini le nombre de ligne de la colonne B du tableau source à traiter
L = Range("B" & Rows.Count).End(xlUp).Row
'si on veut commencer à la ligne 7 du fichier source, mettre i=7, afin de ne pas prendre en compte les en têtes
For i = 7 To L
Q = Feuil4.Cells(Rows.Count, 1).End(xlUp).Row
'définir les colonnes à traiter, correspondant aux Data User, ici M, O et Q.
ZZ = Application.CountA(Cells(i, "M"), Cells(i, "O"), Cells(i, "Q"))
'ligne qui s'occupe des numéros de demande, elle va mettre le numéro de demande dans la première colonne de la feuil2
Feuil4.Cells(Q + 1, 1).Resize(ZZ).Value = Cells(i, 2).Value
'ligne qui s'occupe des données dans les colonnes Data User. Si la colonne résultat est "D", mettre (Q+1,4)
'Changer le "2" de Array(Cells(i, 2) par 13, 15 et 17 selon les colonnes choisies plus haut pour Data User Feuil 1 ou mettre les lettres
Feuil4.Cells(Q + 1, 4).Resize(ZZ).Value = Application.Transpose(Array(Cells(i, "M").Text, Cells(i, "O").Text, Cells(i, "Q").Text))
'ligne qui s'occupe de la colonne Date début
'(Q+1,3) correspond à la donnée destination, colonne 3 --> cells(i,3) correspond à la donnée source, colonne 3
'modifier donc chaque fois l'indice de la colonne selon les colonnes souhaitées
Feuil4.Cells(Q + 1, 6).Resize(ZZ) = Cells(i, 5)
Feuil4.Cells(Q + 1, 7).Resize(ZZ) = Cells(i, 6)
Feuil4.Cells(Q + 1, 8).Resize(ZZ) = Cells(i, 7)
Feuil4.Cells(Q + 1, 9).Resize(ZZ) = Cells(i, 8)
Q = Q + 1
Next
End Sub