Extraction de chaine
Résolu
nihcoc
Messages postés
193
Date d'inscription
Statut
Membre
Dernière intervention
-
nihcoc Messages postés 193 Date d'inscription Statut Membre Dernière intervention -
nihcoc Messages postés 193 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'aimerais a partir d'une cellule contenant une adresse complète,extraire la partie entre les chiifres.
exemple: Mr Dupont 42 rue de la fosse 75620 paris
Résultat : rue de la fosse.
Merçi d'avance
J'aimerais a partir d'une cellule contenant une adresse complète,extraire la partie entre les chiifres.
exemple: Mr Dupont 42 rue de la fosse 75620 paris
Résultat : rue de la fosse.
Merçi d'avance
4 réponses
-
Bonjour
Un exemple avec macro (mais on doit certainement pouvoir faire sans)
https://www.cjoint.com/?3CwrfjpHMcB
Cdlmnt -
désolé ,mais en fait c'est une formule que j'aurais aimé avoir.
toutes mes excuses.
merci -
Bonsoir,
je n'ai pas cherché à faire simple mais voici une formule matricielle qui fonctionne sur l'exemple fourni :SUPPRESPACE(STXT(A1;MIN(SI((ESTNUM(--STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)-1));1)))*(NON(ESTNUM(--STXT($A$1;1+LIGNE(INDIRECT("1:"&NBCAR($A$1)-1));1))));LIGNE(INDIRECT("1:"&NBCAR($A$1)-1))+1;9^9));MAX(SI((ESTNUM(--STXT($A$1;LIGNE(INDIRECT("2:"&NBCAR($A$1)));1)))*(NON(ESTNUM(--STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)-1));1))));LIGNE(INDIRECT("1:"&NBCAR($A$1)-1))+1;0))-MIN(SI((ESTNUM(--STXT($A$1;LIGNE(INDIRECT("1:"&NBCAR($A$1)-1));1)))*(NON(ESTNUM(--STXT($A$1;1+LIGNE(INDIRECT("1:"&NBCAR($A$1)-1));1))));LIGNE(INDIRECT("1:"&NBCAR($A$1)-1))+1;9^9))))A1 contient l'adresse.
La formule est à valider par CTRL+MAJ+ENTER.
cdlt -
Merçi a tous ,mais j'utilise une vieille version d'excel et je ne peux pas dépasser 255 caractères.
si vous aviez une formule plus simple je suis preneur.
merçi-
-
-
curieux, Morefunc est compatible avec 95.
sinon, une solution toute simple est de décomposer la formule indigeste en 3 morceaux:
en B1 :=MIN(SI((ESTNUM(--STXT($A1;LIGNE(INDIRECT("1:"&NBCAR($A1)-1));1)))*(NON(ESTNUM(--STXT($A1;1+LIGNE(INDIRECT("1:"&NBCAR($A1)-1));1))));LIGNE(INDIRECT("1:"&NBCAR($A1)-1))+1;9^9))
en C1 :=MAX(SI((ESTNUM(--STXT($A1;LIGNE(INDIRECT("2:"&NBCAR($A1)));1)))*(NON(ESTNUM(--STXT($A1;LIGNE(INDIRECT("1:"&NBCAR($A1)-1));1))));LIGNE(INDIRECT("1:"&NBCAR($A1)-1))+1;0))
et en D1 :=SUPPRESPACE(STXT($A1;$B1;$C1-$B1)
cdlt -
-