Extraire information cellule alphanumérique

Résolu/Fermé
Khorohk01 - 27 juin 2016 à 08:53
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 - 27 juin 2016 à 11:28
Bonjour,

Après quelques recherches sur divers forum et plusieurs essais infructueux, j'ai besoin d'aide !

Je possède une liste d'adresse complète dans une une colonne, et j'aurai besoin de la séparer en deux colonnes distinctes.

Exemple :

Colonne A :
RUE SAINT FABIEN 05220 LE MONETIER LES BAINS
RUE DE LA CIME 05220 MONETIER LES BAINS
RES LA TURIERE 191 RUE LA PETITE TURIERE 05220 MONETIER LES BAINS
1 RUE DES MINEURS 05220 MONETIER LES BAINS
24 RUE SAINT ELDRADE 05220 LE MONETIER LES BAINS
APP 1ER ETAGE LE FREYSSINET IMPASSE DE L ANCIENNE ECOLE 05220 LE MONETIER LES BAINS

Colonne B (désirée) :

RUE SAINT FABIEN
RUE DE LA CIME
RES LA TURIERE 191 RUE LA PETITE TURIERE
1 RUE DES MINEURS
24 RUE SAINT ELDRADE
APP 1ER ETAGE LE FREYSSINET IMPASSE DE L ANCIENNE ECOLE

Colonne C (désirée) :

05220 LE MONETIER LES BAINS
05220 LE MONETIER LES BAINS
05220 LE MONETIER LES BAINS
05220 LE MONETIER LES BAINS
05220 LE MONETIER LES BAINS
05220 LE MONETIER LES BAINS


La seule constante dans la colonne A est le code postal, mais attention, celui ci change, j'ai du 05220 comme je peux avoir du 44000 ou du 78640.
Donc peut-être trouver une fonction qui extrait une chaine de texte avant ou après X chiffres aléatoires ?

Merci d'avance :)
A voir également:

4 réponses

Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
27 juin 2016 à 09:19
Bonjour ,

Dans ta colonne B : =GAUCHE(A1;TROUVE({0;1;2;3;4;5;6;7;8;9};A1)-1)

Dans ta colonne C : =DROITE(A1;NBCAR(A1)-(TROUVE({0;1;2;3;4;5;6;7;8;9};A1)-1))

Cordialement,
0
Bonjour,

Merci pour votre réponse rapide !

Cependant il y a encore un problème.
Dans ma colonne C, lorsque ma cellule en A commence par le numéro de rue (ex : 109 RUE SAINT FABIEN 05220 MONETIER LES BAINS ), il y a certaines fois où le résultat qui sort est : 09 RUE SAINT FABIEN 05220 MONETIER LES BAINS


Alors que sur d'autre (ex : 67 RUE SAINT FABIEN 05220 MONETIER LES BAINS
), il me sort bien juste 05220 MONETIER LES BAINS.

Avez vous une solution ?

Cordialement
0
Fahora Messages postés 814 Date d'inscription jeudi 24 septembre 2015 Statut Membre Dernière intervention 2 janvier 2023 68
27 juin 2016 à 09:47
Les CP sont obligatoirement ceux mentionnés dans ton premier post ?
0
Non c'est ceux de la france entière ! Mais la solution de Vaucluse est parfaitement adaptée !
Merci de ton aide
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
27 juin 2016 à 09:34
Bonjour

voyez si vous pouvez adapter ça

quelques explications dans le, fichier

https://www.cjoint.com/c/FFBhHTgvuGX

crdlmnt
0
Bonjour Vaucluse,

J'ai adapté votre fichier et il convient parfaitement, merci beaucoup

J'ai encore une question, est-il possible de compresser tous les codes postaux (colonne ref) dans une seul cellule ? Faire une sorte de matrice ?
Car malgré mon processeur à 4 coeurs, le pc a du mal a tout calculer étant donné la longueur de la liste des codes postaux !

Cordialement
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 394
Modifié par Vaucluse le 27/06/2016 à 10:46
Non, ce n'est pas possible vu la formule.Je ne pensais pas que vous deviez traiter tous les codes du pays, et SOMMEPROD composé ainsi et aussi assez lourd!.. et vu qu'il y a environ 40000 codes différents, il faut effectivement un peu de temps.
Pour alléger au maximum, limitez bien tous les champs au strictes hauteurs nécessaires. Et peut être de travailler en plusieurs sections de codes en réduisant la liste et en copiant collant par groupe de 1000 ou 1500 (avec un copier coller valeur des résultats pur "sortir" les résultats de la colonne formule

Et si ça ne va pas il faudra sans doute passer par VBA, mais là, ce n'est plus dans mes compétences.

Bonne chance, donc
crdlmnt
0
Non mais c'est parfait, je vais juste faire preuve de patience haha

Merci beaucoup :)
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
27 juin 2016 à 11:28
Bonjour à tous

En VBA avec une fonction personnalisée pour lire la chaine de caractère à partir de la fin et trouver directement le CP donc :
http://www.cjoint.com/c/FFBjztoBwqS

La fonction personnalisée decoupage s'emploie avec la syntaxe : =decoupage(cellule à traiter) ainsi en B2 on a la formule =decoupage(A2)

Cdlmnt
Via
0