Extraire un nombre dans une chaine de caractère

Le
ysalut
Bonjour,

Je cherche à extraire le code postal d'une adresse.
Mais parfois le code postal est avant ou après le nom de la ville:


EX :
Colonne A1 (ce que j'ai) = SAINT-OUEN-L'AUMONE 95310
Colonne A2 (ce que j'ai) = 31774 Colomiers

Colonne B (ce que je voudrais) = SAINT-OUEN-L'AUMONE
Colonne C (ce que je voudrais) = 95310


Comment puis-je faire cela ?
Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Modeste
Le #21290671
Bonsour® ysalut avec ferveur ;o))) vous nous disiez :

Bonjour,

Je cherche à extraire le code postal d'une adresse.
Mais parfois le code postal est avant ou après le nom de la ville:


EX :
Colonne A1 (ce que j'ai) = SAINT-OUEN-L'AUMONE 95310
Colonne A2 (ce que j'ai) = 31774 Colomiers

Colonne B (ce que je voudrais) = SAINT-OUEN-L'AUMONE
Colonne C (ce que je voudrais) = 95310



en B1
=MAJUSCULE(SI(ESTNUM(1*GAUCHE(SUPPRESPACE(A1);5));STXT(SUPPRESPACE(A1); 6;9^9);GAUCHE(SUPPRESPACE(A1);NBCAR(SUPPRESPACE(A1))-6)))

en C1
=SI(ESTNUM(1*GAUCHE(SUPPRESPACE(A1);5));GAUCHE(SUPPRESPACE(A1);5);DROIT E(SUPPRESPACE(A1);5))

la fonction SUPPRESPACE est utilisée ici pour supprimer les espaces en surnombre ainsi que ceux éventuels de début et de fin

en plus il serait possible également d'utiliser la fonction EPURAGE pour supprimer les éventuels caractères de contrôles (saut de ligne, tab etc...)

en cas d'import de données externes, ces opérations de nettoyage et mises en forme devraient etre faites avant toute utilisation de formules !!!
SALUT
Le #21291171
Modeste a écrit :
Bonsour® ysalut avec ferveur ;o))) vous nous disiez :

Bonjour,

Je cherche à extraire le code postal d'une adresse.
Mais parfois le code postal est avant ou après le nom de la ville:


EX :
Colonne A1 (ce que j'ai) = SAINT-OUEN-L'AUMONE 95310
Colonne A2 (ce que j'ai) = 31774 Colomiers

Colonne B (ce que je voudrais) = SAINT-OUEN-L'AUMONE
Colonne C (ce que je voudrais) = 95310



en B1
=MAJUSCULE(SI(ESTNUM(1*GAUCHE(SUPPRESPACE(A1);5));STXT(SUPPRESPACE(A1);6;9^9);GAUCHE(SUPPRESPACE(A1);NBCAR(SUPPRESPACE(A1))-6)))

en C1
=SI(ESTNUM(1*GAUCHE(SUPPRESPACE(A1);5));GAUCHE(SUPPRESPACE(A1);5);DROITE(SUPPRESPACE(A1);5))

la fonction SUPPRESPACE est utilisée ici pour supprimer les espaces en surnombre ainsi que ceux éventuels de début et de fin

en plus il serait possible également d'utiliser la fonction EPURAGE pour supprimer les éventuels caractères de contrôles (saut de ligne, tab etc...)

en cas d'import de données externes, ces opérations de nettoyage et mises en forme devraient etre faites avant toute utilisation de formules !!!




Super, merci :-)
Publicité
Poster une réponse
Anonyme