Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer : 
Fractionner une adresse postale 
En imbriquant une 
fonction de recherche  dans l'
argument du délimiteur  de la 
fonction Fractionner.Texte , il est possible de déceler la présence de 
séquences remarquables , comme celle d'un 
code postal , immuablement fait de 
5 chiffres consécutifs .
Sur l'exemple illustré par la capture, nous travaillons sur des 
adresses postales  dans une première colonne. Sur la droite et dans deux colonnes distinctes, nous parvenons à extraire les 
informations placées avant et après chaque code postal  de chaque adresse. Et ce tour de force, nous le réalisons avec une 
formule unique .
Classeur Excel à télécharger 
Nous suggérons d'appuyer les travaux sur un 
classeur Excel  abritant ces 
adresses postales  à décortiquer.
Nous retrouvons bien les adresses à sonder, en 
colonne B . Et c'est une grille d'extraction qui se propose entre les 
colonnes E et F  pour dissocier les informations placées 
avant et après le code postal  de chacune.
Initier la découpe 
Avant de songer à déceler la présence de la 
séquence remarquable  représentée par le 
code postal , nous devons 
amorcer la découpe de l'adresse . Pour cela, nous avons naturellement besoin de la 
fonction Fractionner.Texte .
Sélectionner la première case de la grille d'extraction en cliquant sur sa cellule E4 , 
Taper le symbole égal (=) pour débuter la construction de la formule, 
Inscrire la fonction de découpe , suivie d'une parenthèse, soit : Fractionner.Texte( , 
Désigner la première adresse à découper en cliquant sur sa cellule B4 , 
Puis, taper un point-virgule (;) pour passer dans l'argument du délimiteur , Délimiter sur le code postal 
Cette fois, le délimiteur n'est pas un caractère seul. Il s'agit d'une 
séquence de cinq chiffres  représentant le 
code postal . Donc, nous devons isoler ce dernier dans la chaîne à l'aide de la 
fonction Stxt .
Inscrire l'autre fonction de découpe , suivie d'une parenthèse, soit : Stxt( , 
Désigner l'adresse à découper en cliquant de nouveau sur la cellule B4 , 
Puis, taper un point-virgule (;) pour passer dans l'argument de la position de départ , Position du code postal 
Cette position dépend de l'
emplacement variable du code postal  dans la chaîne. L'astuce consiste, dans un 
raisonnement matriciel  engageant la 
fonction Equiv , à déceler la présence de 
5 chiffres successifs .
Inscrire la fonction de recherche de position , suivie d'une parenthèse, soit : Equiv( , 
Taper alors le booléen Vrai , 
Dans cet usage à contre-emploi, nous allons exploiter cette 
fonction Equiv  pour trouver la première position à partir de laquelle, un 
test logique  qu'il nous reste à construire, répond favorablement. Ce 
test logique  consiste à vérifier, dans ce 
raisonnement récursif , que la séquence des 
cinq caractères suivants  est bien numérique. Il suffit qu'une lettre de l'alphabet soit intercalée pour que le test échoue. La fonction qui permet de vérifier qu'une donnée est bien un nombre est la 
fonction logique EstNum .
Taper un point-virgule (;) pour passer dans l'argument de l'élément de recherche, 
Inscrire la fonction de test numérique , suivie d'une parenthèse, soit : EstNum( , 
Il est question de tester 
cinq caractères successifs , en partant de la première position jusqu'à rejoindre la dernière. C'est seulement lorsque la séquence numérique sera décelée que la 
fonction Equiv  répondra favorablement pour retourner la 
position du code postal  à utiliser comme 
délimiteur  dans la 
fonction Fractionner Texte . Pour analyser ces 
cinq caractères successifs , les uns après les autres, nous avons une fois encore besoin de dégainer la 
fonction Stxt de découpe .
Inscrire de nouveau l'autre fonction de découpe, soit : Stxt( , 
Désigner l'adresse à analyser pour dénicher le code postal, en cliquant sur sa cellule B4 , 
Taper un point-virgule (;) pour passer dans l'argument de la position de départ , 
Dans ce 
raisonnement matriciel , c'est elle qui doit varier du premier au dernier, pour analyser les caractères par groupes de cinq. Grâce à la 
fonction Ligne , nous pouvons construire des 
matrices de positions .
Inscrire la fonction Ligne , suivie d'une parenthèse ouvrante, soit : Ligne( , 
Puis, créer la matrice suivante, sans oublier les dollars : $1:$100 , 
Nous partons du principe que les adresses peuvent être longues. Nous prévoyons donc large pour une étude récursive et progressive sur au moins 100 caractères.
Fermer la parenthèse de la fonction Ligne , 
Taper un point-virgule (;) pour passer dans l'argument de la longueur de découpe, 
Naturellement, taper le chiffre 5  pour analyser les caractères par groupes de cinq , 
Fermer la parenthèse de la fonction Stxt , 
Puis, forcer la conversion numérique avec la multiplication par 1, soit : *1 , 
En effet, les caractères assemblés ainsi analysés sont considérés comme des lettres par défaut. Si la multiplication par 1 réussit, cela ravira la 
fonction EstNum  qui répondra favorablement, pour que la 
fonction Equiv  déduise la 
position de départ du code postal  qu'il est question d'utiliser comme 
délimiteur  pour le 
fractionnement de l'adresse .
Fermer la parenthèse de la fonction EstNum , 
De fait, nous sommes de retour dans les bornes de la 
fonction Equiv .
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 les bornes de la première 
fonction Stxt . 
Ajouter une unité à cette position, soit : +1 , 
De cette manière, nous réajustons le repère sur le premier des cinq chiffres trouvés pour le code postal. Code postal fait de cinq chiffres qu'il nous faut maintenant extraire pour le fournir comme délimiteur à la 
fonction Fractionner.Texte .
Taper un point-virgule (;) pour passer dans l'argument du nombre de caractères, 
Inscrire le chiffre 5 pour prélever les cinq chiffres du code postal décelé, 
Fermer la parenthèse de la fonction Stxt , 
Puis, fermer la parenthèse de la fonction Fractionner.Texte , 
Enfin, valider la formule par le raccourci clavier CTRL + Entrée , 
De cette façon, nous conservons active la cellule du résultat. Et comme vous pouvez le constater avec plaisir, nous avons bien réussi à extraire les informations situées avant et après le code postal de la première adresse.
Maintenant, si vous cliquez et glissez la poignée de la 
cellule E4  jusqu'en 
cellule E11 , vous constatez que ce sont toutes les adresses postales que nous avons réussi à fractionner de manière à extirper ce qui se situe avant et après le code postal.