Sub Traiter()
'se lance par Ctrl+T
Dim tablo, i&, n&, titre$
With [A2].CurrentRegion 'à adapter
tablo = .Resize(, 3)
For i = 1 To UBound(tablo)
If InStr(tablo(i, 1), "-") Then
n = n + 1
tablo(n, 1) = tablo(i, 1)
tablo(n, 3) = titre
Else
titre = tablo(i, 1)
End If
Next
If n = .Rows.Count Then Exit Sub 'aucun effet après la 1ère exécution
If n Then
.Cells(1).Resize(n) = tablo
.Cells(1, 3).Resize(n) = Application.Index(tablo, , 3)
End If
.Cells(n + 1, 1).Resize(.Rows.Count - n).Delete xlUp
With Me.UsedRange: End With 'actualise la barre de défilement verticale
End With
End Sub