Bonjour,
Paritec écrit:
PS: AFEH Henri, bien mais un peu compliqué pour rien, mais tu as réussi à sortir un résultat bravo
Désolé, mais je construis mes codes avec mes petites connaissances en VBA, et j'aboutis au même résultat que toi.
Pourquoi ma solution suivante (un peu compliqué pour rien, dis-tu) ne te convient pas?
Sub Essai3()
Set Ws1 = Sheets("Feuil1")
Set Ws2 = Sheets("Feuil3")
dl1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row 'dernière ligne feuille1
dl2 = Ws2.Range("A" & Rows.Count).End(xlUp).Row + 1 'dernière ligne vide feuille3
For Each c In Ws1.Range("A2:A" & dl1)
i = c.Row
If Ws1.Range("C" & i) <> "" Or Ws1.Range("D" & i) <> "" Or Ws1.Range("E" & i) <> "" Then
If c = Ws2.Range("A" & dl2 - 1) Then
Ws2.Range("B" & dl2 - 1) = Ws2.Range("B" & dl2 - 1) & " " & Ws1.Range("C" & i)
Ws2.Range("C" & dl2 - 1) = Ws2.Range("C" & dl2 - 1) & " " & Ws1.Range("D" & i)
Ws2.Range("D" & dl2 - 1) = Ws2.Range("D" & dl2 - 1) & " " & Ws1.Range("E" & i)
Else
Ws1.Range("A" & i).Copy Destination:=Ws2.Range("A" & dl2)
Ws1.Range("C" & i).Copy Destination:=Ws2.Range("B" & dl2)
Ws1.Range("D" & i).Copy Destination:=Ws2.Range("C" & dl2)
Ws1.Range("E" & i).Copy Destination:=Ws2.Range("D" & dl2)
dl2 = dl2 + 1
End If
End If
Next c
End Sub
On n'est pas sur ce forum pour un challenge, mais pour donner satisfaction au demandeur.
Demandeur qui reste à ce jour sans donner de nouvelles!
Cdt
Henri