bonjour Mimi , bonjour Monique
Mimi , la procedure ci dessous repondra peut etre à ta demande ; je ne suis pas sur d'avoir bien compris la logique du resultat souhaité .
Sub tri()
Dim tablau As String
Dim e As String
Dim b As String
Dim val As String
Dim cible As Object
Dim resultat As String
Dim compteur As Byte
b = Range("a1").Value
For compteur = 1 To Len(b)
e = Mid(b, compteur, 1)
Select Case e
Case 0 To 9
val = val & e
With Range("a2")
Set cible = .Find(val, LookIn:=xlValues)
If cible Is Nothing And Len(val) > 1 Then
resultat = resultat & "-" & val
val = ""
End If
End With
Case Else
val = ""
End Select
Next
Range("a3") = Range("a2") & resultat
End Sub
bonne journée
Michel