formateur informatique

Le nom de la ville après le code Postal avec Excel

Accueil  >  Bureautique  >  Excel  >  Excel Avancé  >  Le nom de la ville après le code Postal avec Excel
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


L'Adresse après le code postal

Dans le volet précédent, nous avons appris à extraire les informations situées avant un CP dans une adresse postale, grâce notamment à la fonction Excel Texte.Avant. Dans cette suite logique, nous allons voir comment isoler ce qui est situé après, avec la fonction Texte.Apres.

Extraire la ville après le code postal par formule Excel

C'est ainsi, comme son nom l'indique et comme l'illustre la capture, à partir d'adresses postales complètes, que nous sommes capables d'isoler tout ce qui se trouve après le CP, soit la ville.

Classeur Excel à télécharger
Pour développer cette solution, nous suggérons d'appuyer l'étude sur un classeur Excel offrant des adresses postales à analyser. Nous découvrons la liste des adresses postales en colonne B. Une rangée d'extraction est présente en colonne E. Elle est en attente de la formule permettant d'extraire les informations situées derrière chaque code postal.

La fonction Texte.Apres
Inévitablement, nous devons initialiser notre calcul avec la fonction Texte.Apres. C'est ensuite, dans un traitement récursif que nous songerons à déceler la séquence remarquable des cinq chiffres composant un code postal.
  • Cliquer sur la première case de la grille d'extraction pour sélectionner la cellule E4,
  • Taper le symbole égal (=) pour débuter la construction de la formule,
  • Inscrire la fonction pour prélever après, suivie d'une parenthèse, soit : Texte.Apres(,
  • Désigner la première adresse à analyser en cliquant sur sa cellule B4,
  • Puis, taper un point-virgule (;) pour passer dans l'argument du délimiteur,
Découper la chaîne par séquences
Ce délimiteur, bien qu'immuablement constitué de cinq chiffres, est variable d'une adresse à une autre. Nous allons donc devoir analyser chaque contenu des cellules par groupes de cinq caractères, nous l'avons dit, dans un raisonnement récursif. Pour cela, une fonction de découpe est nécessaire.
  • Inscrire la fonction de découpe, suivie d'une parenthèse, soit : Stxt(,
  • Désigner de nouveau la première adresse en cliquant sur sa cellule B4,
  • Puis, taper un point-virgule (;) pour passer dans l'argument de la position de départ,
Recherche de la séquence
Cette position de départ dépend de l'emplacement de la séquence des cinq chiffres consécutifs. Nous devons la chercher.
  • Inscrire la fonction de recherche de position, suivie d'une parenthèse, soit : Equiv(,
  • Taper le booléen Vrai,
  • Puis, taper un point-virgule (;) pour passer dans l'argument du tableau de recherche,
Raisonnement matriciel
Dans ce raisonnement matriciel, ce tableau de recherche doit correspondre à des séquences de cinq caractères successifs à tester sur la longueur de la chaîne avec la fonction Logique EstNum. Dès qu'elle répondra par Vrai, elle aura décelé la présence du code postal. Elle recoupera donc la demande de la fonction Equiv en premier argument et renverra la position de ce dernier à la fonction Stxt pour l'isoler et le considérer comme délimiteur dans la fonction Texte.Apres.
  • Inscrire la fonction de test numérique, suivie d'une parenthèse, soit : EstNum(,
  • Inscrire de nouveau la fonction de découpe, suivie d'une parenthèse, soit : Stxt(,
  • Désigner une fois encore la première adresse en cliquant sur sa cellule B4,
  • Puis, taper un point-virgule (;) pour passer dans l'argument de la position de départ,
Les groupes de 5 caractères
Ce sont toutes les positions qui doivent être observées en partant de la première, jusqu'à rejoindre celle où le code postal est décelé. A partir de chaque position à incrémenter dans ce traitement récursif, si les 5 caractères qui suivent sont des chiffres, nous saurons que la séquence est trouvée. Il nous faudra la prélever pour la livrer à la fonction Texte.Apres, en tant que délimiteur.
  • Créer la matrice suivante : Ligne($1:$100),
De cette manière, nous partons du premier caractère de l'adresse (1) pour rejoindre le centième si d'aventure l'adresse est longue.

Tester les groupes de 5 caractères
Dans ce raisonnement matriciel nous le répétons, à partir de chaque position de départ incrémentée, nous devons passer les cinq caractères consécutifs qui suivent à la fonction logique EstNum pour savoir s'ils correspondent bien à un nombre, bref à un code postal dans ce contexte particulier.
  • Taper un point-virgule (;) pour passer dans la longueur de l'analyse,
  • Taper le chiffre 5 pour analyser les caractères par groupes de cinq,
  • Fermer la parenthèse de la fonction Stxt,
De fait nous sommes de retour dans les bornes de la fonction EstNum. Comme cette extraction est réalisée à partir d'une chaîne de texte, nous devons forcer la conversion de ce groupe de 5 avant de le passer à la fonction EstNum, pour savoir s'il s'agit véritablement d'une suite de chiffres. Pour cela, il suffit de le multiplier par un.
  • Taper le symbole de l'étoile suivi du chiffre un, soit : *1,
  • Fermer la parenthèse de la fonction EstNum,
De fait, nous sommes de retour dans les bornes de la fonction Equiv. Nous devons finir de l'implémenter.
  • Taper un point-virgule suivi du chiffre zéro, soit : ;0, pour réaliser une recherche exacte,
  • Fermer la parenthèse de la fonction Equiv,
De fait, nous sommes de retour dans la première fonction Stxt.
  • Ajouter une unité à cette position : +1, pour partir réellement du premier chiffre du CP,
  • Taper un point-virgule (;) pour passer dans l'argument de la longueur de découpe,
  • Taper le chiffre 5 pour prélever les 5 caractères du délimiteur, le code postal,
  • Fermer la parenthèse de la fonction Stxt,
  • Fermer la parenthèse de la fonction Texte.Apres,
  • Enfin, valider la formule par le raccourci clavier CTRL + Entrée,
De cette manière, nous gardons active la cellule du résultat.

Prélever tout ce qui se situe après le code postal dans une adresse par formule Excel

La première extraction s'invite et il s'agit bien de la ville après le premier code postal. Et si vous tirez la poignée de la cellule E4 jusqu'en cellule E11, vous obtenez bien toutes les villes situées après les codes postaux respectifs.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn