Sub toto()
Dim i&, j&, k&, SectAct&, Org As Worksheet
Set Org = Worksheets("donnees")
i = 1
j = 1
With Worksheets("resultats")
.Cells.Resize(.Rows.Count - 1, .Columns.Count).Offset(1).Clear
Do Until IsEmpty(Org.Cells(i, 1))
If Org.Cells(i, 1).Font.Bold Then
SectAct = i
ElseIf Left$(Org.Cells(i, 1), 2) = Chr(192) & " " Then
j = j + 1
Org.Cells(SectAct, 1).Copy Destination:=.Cells(j, 1)
Org.Cells(i, 1).Copy Destination:=.Cells(j, 2)
k = 2
Else
k = k + 1
Select Case k
Case 3, 9: Org.Cells(i, 1).Copy Destination:=.Cells(j, k)
Case 4: If CStr(Org.Cells(i, 1).Value) Like "* *" Then Org.Cells(i, 1).Copy Destination:=.Cells(j, k) Else i = i - 1
Case 5, 6: If CStr(Org.Cells(i, 1).Value) Like "##.##.##.*" Then Org.Cells(i, 1).Copy Destination:=.Cells(j, k) Else i = i - 1
Case 7: If CStr(Org.Cells(i, 1).Value) Like "www.*.*" Then Org.Cells(i, 1).Copy Destination:=.Cells(j, k) Else i = i - 1
Case 8: If CStr(Org.Cells(i, 1).Value) Like "*@*.*" Then Org.Cells(i, 1).Copy Destination:=.Cells(j, k) Else i = i - 1
Case Else: .Cells(j, 9).Value = .Cells(j, 9).Value & " " & Org.Cells(i, 1).Value
End Select
End If
i = i + 1
Loop
.Activate
End With
End Sub