comme ceci :
Const COLONNETAG As Integer = 1
Const COLONNETEXTE As Integer = 2
Dim ligneDébut As Long
Dim ligneActuelle As Long
Dim ligneFin As Long
Dim conc As String
Dim i As Long
ligneFin = Cells(ActiveSheet.Rows.Count, COLONNETAG).End(xlUp).Row
ligneActuelle = 1
Do While ligneActuelle <= ligneFin
If Cells(ligneActuelle, COLONNETAG).Value = 1 Then
conc = Cells(ligneActuelle, COLONNETEXTE).Value
ligneDébut = ligneActuelle
Do While Cells(ligneActuelle + 1, COLONNETAG).Value = 1 And ligneActuelle <= ligneFin
ligneActuelle = ligneActuelle + 1
conc = conc & Cells(ligneActuelle, COLONNETEXTE).Value
Cells(ligneActuelle, COLONNETEXTE).ClearContents
Loop
Cells(ligneDébut, COLONNETEXTE).Value = conc
conc = ""
End If
ligneActuelle = ligneActuelle + 1
Loop
si tu veux écrire dans une autre colonne le texte, il te suffit de modifier cette ligne :
Cells(ligneDébut, COLONNETEXTE).Value = conc
Message édité par Arwon le 20-10-2010 à 19:49:01