Extraire partie d'adresse postale

Fermé
alain.terieur12 - 2 déc. 2014 à 14:51
 alain.terieur12 - 4 déc. 2014 à 14:03
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.

A voir également:

5 réponses

DjiDji59430 Messages postés 4035 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 24 avril 2024 645
Modifié par DjiDji59430 le 2/12/2014 à 16:49
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
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
Modifié par JvDo le 2/12/2014 à 21:54
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
alain.terieur12
4 déc. 2014 à 09:14
Merci à tous pour vos réponses, je vais tester tout cela.
Bonne journée.
0
alain.terieur12
4 déc. 2014 à 09:31
@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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alain.terieur12
4 déc. 2014 à 10:12
@JvDo
Est-ce que la liste doit être créée dans une nouvelle feuille de mon document pour pouvoir faire fonctionner la macro ?
0
JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
4 déc. 2014 à 11:02
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
alain.terieur12 > JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020
4 déc. 2014 à 14:03
Merci je testerai.
0