Sub Cartman()
chaine = "28A TER RUE GRANDE RUE 75000 Paris"
Dim Reg As Object: Set Reg = CreateObject("Vbscript.RegExp")
'numéro
Reg.Pattern = "^([0-9]+[A-Z]?( BIS| TER)?)"
Set Matches = Reg.Execute(chaine)
For Each Match In Matches
numero = Trim(Match.Value)
Next Match
'CP
Reg.Pattern = "[0-9]{5}"
Set Matches = Reg.Execute(chaine)
For Each Match In Matches
C_P = Trim(Match.Value)
Next Match
'Ville
Reg.Pattern = "[0-9]{5}(.*)"
Set Matches = Reg.Execute(chaine)
For Each Match In Matches
ville = Trim(Right(Match.Value, Len(Match.Value) - 5))
Next Match
'voie
Reg.Pattern = "^([0-9]+[A-Z]?( BIS| TER)?)[ ]+(RUE|AVE)"
Set Matches = Reg.Execute(chaine)
For Each Match In Matches
Voie = Trim(Right(Match.Value, Len(Match.Value) - Len(numero)))
Next Match
'nom voie
'on retire le numero
tmp = Trim(Right(chaine, Len(chaine) - Len(numero)))
'on retire la voie
tmp = Trim(Right(tmp, Len(tmp) - Len(Voie)))
'on retire la ville
tmp = Trim(Left(tmp, Len(tmp) - Len(ville)))
'on retire le CP
tmp = Trim(Left(tmp, Len(tmp) - Len(C_P)))
nom_voie = tmp
End Sub