"Colonne A" "Colonne B"
Ligne1 Typ1 AFF1(INTR)
Ligne2 Typ2 AFF1(INTR)
Ligne3 Cat1 AFF1(INTR)
Ligne4 Cat2 AFF1(INTR)
Ligne5 Var2 AFF1(INTR)
Ligne6 IncX AFF1(INTR)
"Colonne A" "Colonne B"
Ligne 1 Typ1
Typ2
Cat1
Cat2
Var2
IncX AFF1(INTR)
Lgine2 AFF1(INTR)
Ligne3 AFF1(INTR)
Ligne4 AFF1(INTR)
Ligne5 AFF1(INTR)
Ligne6 AFF1(INTR)
Sub concatenerVehicul()
Dim concatene As String
Dim concatene1 As String
Dim concatene2 As String
Dim concatene3 As String
Dim valCell As String
Dim valSuiv As String
Dim valPrec As String
Dim valG As String
Dim valL As String
Dim l As Integer
Dim n As Integer
valPrec = ""
'------------------------------------------------
' Boucle sur l'ensemble de ta plage de cellules
'------------------------------------------------
For l = 7 To Range("L65536").End(xlUp).Row
valL = Cells(l, "G").Value
valG = Cells(l + 1, "G").Value
valCell = Cells(l, "L").Value
valSuiv = Cells(l + 1, "L").Value
concatene = valL
'********************
Debug.Print "valCell" & valCell
Debug.Print "valL" & valL
Debug.Print "valPrec" & valPrec
Debug.Print "valG" & valG
'------------------------------------------------
' Si valeur cellule actuelle <> de la valeur précédente
'------------------------------------------------
If valCell <> valPec Then
n = l
'------------------------------------------------
' Boucle sur les cellules de même valeur
'------------------------------------------------
While valCell = Cells(n + 1, "G").Value
valL = Cells(n + 1, "G").Value
If valSuiv = valCell Then
concatene = concatene & "," & Chr(10) & valL
Else
Exit For
End If
n = n + 1
Wend
Cells(l, "G").Value = concatene
End If
valSuiv = valCell
Next
End Sub
Sub concatenerVehicul() Dim concatene As String Dim concatene1 As String Dim concatene2 As String Dim concatene3 As String Dim valCell As String Dim valSuiv As String Dim valPrec As String Dim l As Integer Dim n As Integer valPrec = "" Dim col_Data As String col_Data = "A" Dim col_Comp As String col_Comp = "B" '------------------------------------------------ ' Boucle sur l'ensemble de ta plage de cellules '------------------------------------------------ valPrec = "" For l = 7 To Range(col_Data & "65536").End(xlUp).Row valCell = Cells(l, col_Comp).Value Debug.Print "valCell :" & valCell concatene = Cells(l, col_Data).Value '------------------------------------------------ ' Si valeur cellule actuelle <> de la valeur précédente '------------------------------------------------ If valCell <> valPrec Then n = l '------------------------------------------------ ' Boucle sur les cellules de même valeur '------------------------------------------------ While valCell = Cells(n, col_Comp).Value valL = Cells(n, col_Data).Value 'concaténation des resultats concatene = concatene & "," & Chr(10) & valL 'suppression de la valeur de la colonne Data Cells(n, col_Data).Value = "" n = n + 1 Wend Cells(l, col_Data).Value = concatene End If valPrec = valCell Debug.Print "valPrec :" & valPrec Next End Sub
Je ne sais pas modéliser ce que je veux en programmation. Merci pour votre dispobilité, et de votre aideCa va que moi j'arrive à comprendre ce que tu souhaites faire et que (pour l'instant) cela reste assez simple (pour quelqu'un qui prog toute la journée ... depuis quelques années déjà...).