Bonsoir à tous,
Tes données à partir de A1 :
Option Explicit
Sub Transpose_Concatenate()
Dim myArea As Range, myAreas As Areas, temp As String, b(), n As Long
ReDim b(1 To 1)
With Range("a1", Range("a" & Rows.Count).End(xlUp)).Offset(, 1)
.Formula = "=if(len(a1)=23,1,"""")"
.Value = .Value
End With
With Range("b1", Range("b" & Rows.Count).End(xlUp))
On Error Resume Next
Set myAreas = .SpecialCells(2).Areas
If myAreas Is Nothing Then Exit Sub
On Error GoTo 0
For Each myArea In myAreas
If myArea.Rows.Count > 1 Then
temp = Join(Evaluate("transpose(" & myArea.Offset(, -1).Address & ")"), ";")
Else
temp = myArea.Offset(, -1).Value
End If
n = n + 1
ReDim Preserve b(1 To n)
With myArea.Resize(1).Offset(, -1)
b(n) = .Offset(-1).Value & ";" & temp
End With
Next
End With
Range("d1").Resize(n) = Application.Transpose(b)
Columns("b").Delete
End Sub
klin89