Extraire suite de nombre dans une suite alphanumérique

grimat

XLDnaute Occasionnel
Bonjour,

Je sollicite votre aide car j'ai un problème sur Excel, je tente d'extraire une suite de chiffres dans une suite alphanumérique. Il n'y a pas toujours le même nombre de lettres avant et après la suite de chiffres:

EX:

avenue de XXX 92500 RUEIL MALMAISON
Rue des YYYY 75012 PARIS

J'ai déjà essayé les fonctions DROITE, GAUCHE et STXT mais sans succès... De plus je souhaiterai éviter l'utilisation de maccro.

Merci par avance
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Extraire suite de nombre dans une suite alphanumérique

Bonjour,


Formules:


http://boisgontierjacques.free.fr/fichiers/Matriciel/MatricielAdresseDecoupe.xls
http://boisgontierjacques.free.fr/fichiers/Matriciel/ADRESSES.xls

Rue:
=GAUCHE(A1;NBCAR(A1)-EQUIV(VRAI;ESTNUM(--(STXT(A1;NBCAR(A1)-LIGNE($1:$255);1)));0)-5)
maj+ctrl+entrée

Cp:
=STXT(A1;NBCAR(A1)-EQUIV(VRAI;ESTNUM(--(STXT(A1;NBCAR(A1)-LIGNE($1:$255);1)));0)-4;5)
maj+ctrl+entrée

VBA:

http://boisgontierjacques.free.fr/fichiers/fonctionsperso/MatDecoupeAdresse.xls

Code:
Function Rue(c)
  Application.Volatile
  Set obj = CreateObject("vbscript.regexp")
  obj.Pattern = "(\d{0,4}[\s,]?[a-z,A-Z]+\s)+"
  Set a = obj.Execute(c)
  If a.Count > 0 Then Rue = a(0) Else Rue = ""
End Function

Function Ville(c)
  Application.Volatile
  Set obj = CreateObject("vbscript.regexp")
  obj.Pattern = "(\d{5}\s)[A-Z,a-z,\s,-]+"
  Set a = obj.Execute(c)
  If a.Count > 0 Then Ville = Mid(a(0), 6) Else Ville = ""
End Function

Function CodePostal(c)
  Application.Volatile
  Set obj = CreateObject("vbscript.regexp")
  obj.Pattern = "\d{5}"
  Set a = obj.Execute(c)
  If a.Count > 0 Then CodePostal = a(0) Else CodePostal = ""
End Function
jb
 
Dernière édition:

R@chid

XLDnaute Barbatruc
Re : Extraire suite de nombre dans une suite alphanumérique

Bonjour grimat,
Si tes adresses sont en colonne A, en B1 :
Code:
=STXT(A1;EQUIV(VRAI;ESTNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1);0);NB(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)*1))*1
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas
@ +

Edit : Salut JB
 

Pièces jointes

  • grimat.xlsx
    9.1 KB · Affichages: 40
  • grimat.xlsx
    9.1 KB · Affichages: 46

Discussions similaires

Réponses
11
Affichages
641