Extraction de chaine

Résolu/Fermé
nihcoc Messages postés 192 Date d'inscription dimanche 9 mars 2014 Statut Membre Dernière intervention 28 février 2023 - 22 mars 2014 à 16:08
nihcoc Messages postés 192 Date d'inscription dimanche 9 mars 2014 Statut Membre Dernière intervention 28 février 2023 - 23 mars 2014 à 16:32
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


4 réponses

ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
Modifié par ccm81 le 22/03/2014 à 17:15
Bonjour

Un exemple avec macro (mais on doit certainement pouvoir faire sans)
https://www.cjoint.com/?3CwrfjpHMcB

Cdlmnt
0
nihcoc Messages postés 192 Date d'inscription dimanche 9 mars 2014 Statut Membre Dernière intervention 28 février 2023 5
22 mars 2014 à 17:15
désolé ,mais en fait c'est une formule que j'aurais aimé avoir.
toutes mes excuses.
merci
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
22 mars 2014 à 21:10
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
0
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
22 mars 2014 à 21:20
Salut JvDo

Là tu as fait fort!

Maintenant si le demandeur préfère une (bonne) formule à une macro .....

Bonne soirée et bon week end

Cordialement
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
22 mars 2014 à 21:42
Salut,

mais je pense que nihcoc regrettera ta macro s'il a quelques milliers de lignes à traiter !!

cdlt
0
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
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
23 mars 2014 à 00:58
Bien sûr, il y a plus simple :
=SUPPRESPACE(STXT($A$1;REGEX.TROUVE($A$1;"\d\D";1)+1;REGEX.TROUVE($A$1;"\D\d";-1)-REGEX.TROUVE($A$1;"\d\D";1)))

Seulement, pour l'utiliser, il faut installer la macro complémentaire Morefunc de Laurent Longre.
Je te laisse la trouver sur le web.

cdlt
0
nihcoc Messages postés 192 Date d'inscription dimanche 9 mars 2014 Statut Membre Dernière intervention 28 février 2023 5
23 mars 2014 à 07:43
Bonjour j'ai essayé d'instaler "Morefun,mais il refuse de s'instaler avec excel 95.
merci quand même pour tout.
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
23 mars 2014 à 11:25
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
0
nihcoc Messages postés 192 Date d'inscription dimanche 9 mars 2014 Statut Membre Dernière intervention 28 février 2023 5
23 mars 2014 à 16:32
Merci a toi JvDo ,ça marche très bien,c'est super
Tchao
0