Extraire partie d'adresse postale

alain.terieur12 -  
 alain.terieur12 -
Bonjour,

J'ai une colonne dans un fichier remplie d'adresses postales, par exemple :

02 CHEMIN LALANNE
1 A ALLEE DE VERNEILH
1 TER RUE DE SEGUES
1008BIS CHEMIN MATACHOT
18A ALLEE SOPHIA

Je souhaite ne récupérer que l'adresse, sans le numéro, dans une nouvelle colonne :

CHEMIN LALANNE
ALLEE DE VERNEILH
RUE DE SEGUES
CHEMIN MATACHOT
ALLEE SOPHIA

J'ai tenté d'écrire cette formule (je suis nul en formule excel et en vb) :

=SI(ESTNUM(CNUM(GAUCHE(G12;(CHERCHE(" ";G12)-1))));DROITE(G12;(CHERCHE(" ";G12)+1));G12)

Mais ça ne fonctionne pas, ça ne récupère qu'un bout de la fin de l'adresse.

Quelqu'un peut-il m'aider svp ?
Merci par avance.

5 réponses

  1. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
     
    Bonjour,

    =STXT(G12;TROUVE(" ";G12;1);NBCAR(G12)-TROUVE(" ";G12;1)+1)

    ou

    =STXT(G12;CHERCHE(" ";G12;1);NBCAR(G12)-CHERCHE(" ";G12;1)+1)
    1
  2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    4ème tentative d'envoi de la réponse.....

    Bonsoir,

    1) tu crées un nom type_voie sur ta feuille de calcul avec les données (184 lignes) que tu trouveras en bas de message.

    2) tu colles cette fonction dans un module
    Function extrait_adresse(ad)
    Dim list_type()
    list_type = Range("type_voie")
    nb = UBound(list_type)
    For i = 1 To nb
    If InStr(ad, list_type(i, 1)) > 0 Then
    extrait_adresse = Right(ad, Len(ad) - InStr(ad, list_type(i, 1)) + 1)
    Exit Function
    End If
    Next
    End Function

    3) tu l'utilises sur tes données.

    remarque : mon séparateur est un point-virgule. peut-être que chez toi ce sera une virgule (ou autre chose)

    cordialement

    ****************données type_voie*****************

    {ABBAYE;AGGLOMERATION;AIRE;PETITE ALLEE;ALLEE;ANCIEN CHEMIN;ANCIENNE ROUTE;ANSE;ARCADE;AUTOROUTE;PETITE AVENUE;AVENUE;BARRIERE;BAS CHEMIN;BASTIDE;BASTON;BEGUINAGE;BERGE;BOIS;BOUCLE;GRAND BOULEVARD;GRANDE ENSEMBLE;BOULEVARD;BOURG;BUTTE;CALE;CAMP;CAMPAGNE;CAMPING;CARRE;CARREAU;CARREFOUR;CARRIERE;CASTEL;CAVEE;CENTRE;CHALET;CHAPELLE;CHARMILLE;CHATEAU;CHAUSSEE;HAUT CHEMIN;PETIT CHEMIN;VIEUX CHEMIN;CHEMIN VICINAL;CHEMIN;CHEMINEMENT;CHEZ;CITE;CLOITRE;CLOS;COL;COLLINE;CONTOUR;CORNICHE;COTE;COTAU;COTTAGE;COUR;COURS;DARSE;DEGRE;DESCENTE;DIGUE;DOMAINE;ECLUSE;EGLISE;ENCEINTE;ENCLAVE;ENCLOS;ESCALIER;ESPACE;ESPLANADE;ETANG;FAUBOURG;FERME;FONTAINE;FORT;FORUM;FOSSE;FOYER;GALERIE;GARE;GARENNE;GRANDE RUE;GRILLE;GRIMPETTE;GROUPE;GROUPEMENT;HALLE;HAMEAU;HIPPODROME;HLM;ILE;IMMEUBLE;PETITE IMPASSE;IMPASSE;JARDIN;JETEE;LEVEE;LIEU DIT;LOTISSEMENT;MAIL;MAISON FORESTIERE;MANOIR;MARCHE;MAS;METRO;MONTEE;MOULIN;MUSEE;NOUVELLE ROUTE;PALAIS;PARC;PARKING;PARVIS;PASSAGE;PASSAGE À NIVEAU;PASSE;PASSERELLE;PATIO;PAVILLON;PERIPHERIQUE;PERISTYLE;PETITE ROUTE;PETITE RUE;PLACE;PLACIS;PLAGE;PLAINE;PLAN;PLATEAU;POINTE;PONT;PORCHE;PORT;PORTE;PORTIQUE;POTERNE;POURTOUR;PRE;PRESQU'ILE;PROMENADE;QUAI;QUARTIER;RACCOURCI;RAIDILLON;RAMPE;REMPART;RESIDENCE;ROC;ROCADE;ROND POINT;ROQUET;ROTONDE;VIEILLE ROUTE;ROUTE;RUE;RUELLE;SENTE;SENTIER;SQUARE;STADE;STATION;TERRAIN;TERRASSE;TERRE PLEIN;TERTRE;TOUR;TRAVERSE;VAL;VALLEE;VALLON;VENELLE;VIA;VILLA;VILLAGE;VOIE;ZONE;ZONE A URBANISER EN PRIORITE;ZONE ARTISANALE;ZONE D'AMENAGEMENT CONCERTE;ZONE D'AMENAGEMENT DIFFERE;ZONE INDUSTRIELLE}
    0
  3. alain.terieur12
     
    Merci à tous pour vos réponses, je vais tester tout cela.
    Bonne journée.
    0
  4. alain.terieur12
     
    @JvDo
    Est-ce que cette fonction utilise les données de la liste dans une nouvelle feuille que je dois ajouter à mon fichier svp ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. alain.terieur12
     
    @JvDo
    Est-ce que la liste doit être créée dans une nouvelle feuille de mon document pour pouvoir faire fonctionner la macro ?
    0
    1. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
       
      tu mets la liste dans une feuille paramètre de ton classeur ou sur ta feuille de travail.

      l'important, c'est que tu la nommes type_voie

      tu peux la mettre dans un autre classeur mais il faut modifier la macro

      je n'ai pas essayé, mais tu dois pouvoir même mettre cette liste dans un nom avec les accolades et les séparateurs et les guillemets.
      faut tester

      cdlt
      0
      1. alain.terieur12 > JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention  
         
        Merci je testerai.
        0