Extraire un élément (texte) dans un texte

Bennyouch -  
Bennyouch Messages postés 5 Statut Membre -
Bonjour,

Pour faire simple voici ma problématique :

J'ai dans ma colonne A j'ai une adresse sans le code postale, ni la ville, ni le pays :

ex "10 avenue Felix Viallet"

dans une autre colonne B j'ai réussis à extraire le numéro (10), dans une autre colonne C le type de voie (avenue).

Je voudrai maintenant dans une quatrième colonne D avoir seulement : " Felix Viallet"

en gros : D = A - B (format nombre) - C (format texte)

Merci pour votre aide !

7 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Une possibilité, si la fin à extraire est toujours après le 2eme espace :

    =DROITE(A1;NBCAR(A1)-(CHERCHE(" ";A1;CHERCHE(" ";A1;1)+1)))

    Cdlmnt
    0
  2. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Si votre texte est en A1

    pour extraire 10
    =STXT($A$1;1;CHERCHE(" ";$A$1;1)-1)

    pour extraire avenue
    =STXT($A$1;CHERCHE(" ";$A$1;1)+1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;1)+1)-3)

    pour extraire félix
    =STXT($A$1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;1)+1)+1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;1)+1)-5)
    pour extraire vialet

    =STXT($A$1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;1)+1)+1)+1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;1)+1)-1)
    0
  3. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Bonjour,
    Si le texte à récupérer commence à la première majuscule essayez cet extrait d'une formule matricielle de Jacques Boisgontier:
    =STXT(A1;EQUIV(FAUX;ESTERREUR(TROUVE(STXT(A1;LIGNE($1:$255);1);"ABCDEFGHIJKLMNOPQRSTUVWXYZ"));0);999)
    Valider par la combinaison de touches CTRL+SHIFT+Enter. La formule apparait alors encadrée par des accolades dans la barre de formule.
    0
  4. Bennyouch Messages postés 5 Statut Membre
     
    via55, malheureusement non la fin n'est pas toujours après la deuxième place... j'ai des adresses anglaise également...

    Et philou10120 il faudrait que j'obtienne dans la même cellule : "felix viallet"...

    parfois l'adresse est plus longue par exemple j'ai en :
    A1 "10 rue Felix Viallet de saint andré dupuy",
    B1 "10" (ca j'y suis arrivé)
    C1 "rue" (idem)
    C2 il me faudrait :"Felix viallet de saint andré dupuy"

    Sinon avec ta méthode je peux extraire tous les mots puis faire une concaténation....
    0
    1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
       
      =DROITE(A1;NBCAR(A1)-CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;1)+1))))

      avec celle-ci cela doit être bon
      0
    2. Bennyouch Messages postés 5 Statut Membre
       
      Super merci PHILOU10120 ca marche au top !

      Comment gagner 2 jours de travail en quelques minutes... Je kiff grave Excel !
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Bennyouch Messages postés 5 Statut Membre
     
    TontonG, ta formule est géniale en effet j'ai tout en majuscule, par contre il me faudrait enlever, le "RUE" que j'ai extrait en B1 (regarde mon explication de 13:49 :)
    0
  7. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     
    Au #5 rue est écrit en minuscules, et mon préambule disait:Si le texte à récupérer commence à la première majuscule
    Si tout est en majuscules: c'est raté.
    On pourrait remplacer RUE par rue mais il y aura aussi RUE DE, RUE DU, AVENUE, CHEMIN, etc.
    0
  8. Bennyouch Messages postés 5 Statut Membre
     
    Merci à tous, finalement la bonne solution est :

    =DROITE(A1;NBCAR(A1)-CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;CHERCHE(" ";$A$1;1)+1))))
    0