ma première difficulté consiste à formaliser mon problème (d'ou un titre hper générique).
Donc bien mieux qu'un long discour, je souhaite trouver un moyen de convertir le tableau 1 en tableau 2
Tableau 1 :
nom action
A U
A V
B W
C X
C Y
C Z
Tableau 2 :
nom action action action
A U V
B W
C X Y Z
Salut à toi Soit Feuil1 colonne A et B les données source, Feuil2 colonne A le résultat Je te propose ce code :
Do While Sheets("Feuil1").Range("A1").Offset(i, 0).Row < Sheets("Feuil1").Range("A65535").End(xlUp).Row + 1 If Sheets("Feuil1").Range("A1").Offset(i, 0) = Sheets("Feuil1").Range("A1").Offset(i + 1, 0) Then Donnée = Donnée & " " & Sheets("Feuil1").Range("B1").Offset(i, 0) Else Donnée = Sheets("Feuil1").Range("A1").Offset(i, 0) & Donnée & " " & Sheets("Feuil1").Range("B1").Offset(i, 0) Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0) = Donnée Donnée = "" End If i = i + 1 Loop
Celà devrait convenir Dis moi !!!
FFO
Rebonjours à toi
Ma première proposition ramène le résultat sur 1 colonne (colonne A) Feuil2 Je te propose cette 2° version qui ramène le résultat sur plusieurs colonnes en feuil2 Toujours Colonne A et B Feuil1 les données
Le code :
j = 1 Do While Sheets("Feuil1").Range("A1").Offset(i, 0).Row < Sheets("Feuil1").Range("A65535").End(xlUp).Row + 1 If Sheets("Feuil1").Range("A1").Offset(i, 0) = Sheets("Feuil1").Range("A1").Offset(i + 1, 0) Then Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, j) = Sheets("Feuil1").Range("B1").Offset(i, 0) j = j + 1 Else Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, j) = Sheets("Feuil1").Range("B1").Offset(i, 0) Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0) = Sheets("Feuil1").Range("A1").Offset(i, 0) j = 1 End If i = i + 1 Loop
Peut être mieux Dis moi !!!
Rebonjours à toi
Ma première proposition ramène le résultat sur 1 colonne (colonne A) Feuil2
Je te propose cette 2° version qui ramène le résultat sur plusieurs colonnes
en feuil2
Toujours Colonne A et B Feuil1 les données
Le code :
j = 1
Do While Sheets("Feuil1").Range("A1").Offset(i, 0).Row <
Sheets("Feuil1").Range("A65535").End(xlUp).Row + 1
If Sheets("Feuil1").Range("A1").Offset(i, 0) =
Sheets("Feuil1").Range("A1").Offset(i + 1, 0) Then
Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, j) =
Sheets("Feuil1").Range("B1").Offset(i, 0)
j = j + 1
Else
Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, j) =
Sheets("Feuil1").Range("B1").Offset(i, 0)
Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0) =
Sheets("Feuil1").Range("A1").Offset(i, 0)
j = 1
End If
i = i + 1
Loop
Ma première proposition ramène le résultat sur 1 colonne (colonne A) Feuil2 Je te propose cette 2° version qui ramène le résultat sur plusieurs colonnes en feuil2 Toujours Colonne A et B Feuil1 les données
Le code :
j = 1 Do While Sheets("Feuil1").Range("A1").Offset(i, 0).Row < Sheets("Feuil1").Range("A65535").End(xlUp).Row + 1 If Sheets("Feuil1").Range("A1").Offset(i, 0) = Sheets("Feuil1").Range("A1").Offset(i + 1, 0) Then Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, j) = Sheets("Feuil1").Range("B1").Offset(i, 0) j = j + 1 Else Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, j) = Sheets("Feuil1").Range("B1").Offset(i, 0) Sheets("Feuil2").Range("A65535").End(xlUp).Offset(1, 0) = Sheets("Feuil1").Range("A1").Offset(i, 0) j = 1 End If i = i + 1 Loop