Je rencontre un petit soucis d'équivalence de colonne d'adresse.
Comme toute base adresse je me retrouve avec des chiffres associés à des numéros de rue de type : "8Bis rue Vincent Auriol", ou "13A du 56ième régiment..."
Je souhaiterais simplement séparer le numéro de la lettre en insérant un espace. C'est à dire que le 8Bis devient le 8 Bis ou le 13A devient le 13 A.
Bien entendu il arrive le plus souvent qu'il n'y ait pas de lettre derrière le numéro ou même qu'il n'y ait pas de numéro de type : "Chem du cornout"
Re
@Ralph45 : sympa que tu t'essaie aux expressions rationnelles ! Le motif initial répondait expressément aux exemples fournis dans le fichier. Maintenant, si tu veux prendre en compte les BIS, TER,... cela donnerait plutôt :
Code:
Function Séparer(Chaine As String) As String
Dim oRegExp As Object
Set oRegExp = CreateObject("vbscript.regexp")
With oRegExp
.ignorecase = True
.Pattern = "^(\d+)([A-Z]+\s)(.+)"
If .test(Chaine) = True Then
Séparer = .Replace(Chaine, "$1 $2$3")
Else
Séparer = Chaine
End If
End With
End Function
Si tu veux des explications, n'hésite pas à poser des questions.
A+
Ne disposant pas de la version supérieure à 2003 au niveau professionnel, j'ai essayé de répondre uniquement à la partie "littéraire" du post#1 de vgrenet, où étaient exprimés les soucis du A, mais aussi du BIS. Effectivement, je me penche de plus en plus sur des questions VBA que des formules.
Je n'hésiterai pas à demander tes lumières, le cas échéant...