Extraction de chaine

Résolu
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

  1. désolé ,mais en fait c'est une formule que j'aurais aimé avoir.
    toutes mes excuses.
    merci
    0
    1. 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
      1. 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
      2. Salut,

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

        cdlt
        0
    2. 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
      1. 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
      2. Bonjour j'ai essayé d'instaler "Morefun,mais il refuse de s'instaler avec excel 95.
        merci quand même pour tout.
        0
      3. 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
      4. Merci a toi JvDo ,ça marche très bien,c'est super
        Tchao
        0