Sub Macro2()
Dim ma_chaine As String
Dim tableau_val(1 To 2, 0 To 10000) As Variant
ma_chaine = "56476145751541650546407549152649215941477652756157624526785779104507615057201064564573215967315346065429326215843216954"
'12345
'123456
For i = 1 To UBound(tableau_val, 2)
tableau_val(1, i) = ""
Next i
For i = 1 To Len(ma_chaine)
trouve = False
taille = 1
While trouve = False And taille <= Len(ma_chaine)
test = Mid(ma_chaine, i, taille)
If tableau_val(1, CInt(test)) = "" Then
trouve = True
tableau_val(2, CInt(test)) = i
If CInt(test) <= Len(ma_chaine) And CInt(test) <> 0 Then
tableau_val(1, CInt(test)) = Mid(ma_chaine, CInt(test), taille)
Else
tableau_val(1, CInt(test)) = 0
End If
Else
taille = taille + 1
End If
Wend
i = i + taille - 1
nouvelle_chaine = nouvelle_chaine & tableau_val(1, CInt(test))
Next i
MsgBox "Chaine initiale : " & ma_chaine & Chr(10) & "Nouvelle chaine : " & nouvelle_chaine
End Sub