Cet article va vous montrer comment extraire tous les chiffres d'une cellule contenant et des chiffres et des lettres.
Pour cela, nous allons nous baser sur les nouvelles fonctions de Excel 365 : FILTRE et SEQUENCE.

Logique utilisée pour créer la fonction
Pour pouvoir extraire les nombres et les lettres d'une même cellule, nous n'avons d'autre choix que de découper chaque élément de la cellule en élément unique.
- Ce travail est rendu possible grâce à la nouvelle fonction SEQUENCE et de la fonction STXT.
- Ensuite, nous réaliserons un test pour savoir si chacun de ces caractères est un nombre ou pas.
- Enfin, quand le test est vrai, nous conservons uniquement les nombres.
Etape 1 : Extraire chaque caractère de la cellule
La fonction STXT vous permet d'extraire une sous-partie d'une chaîne de caractères. Associée à la fonction SEQUENCE, vous créez un tableau dans lequel chaque cellule représentera un des caractères de la cellule comme cela a été expliqué dans cet article.
=STXT(A2,SEQUENCE(,NBCAR(A2)),1)



Etape 2 : Test pour savoir si le contenu est numérique ou pas
Ensuite, nous devons effectuer un test sur chacune des cellules pour savoir si le contenu est numérique ou pas.
Alors bien sûr ici, l'utilisation de la fonction ESTNUM Semble logique. Pour autant, à ce stade, chacune des cellules contient du texte.
=ESTNUM(STXT(A2,SEQUENCE(,NBCAR(A2)),1))



Nous devons donc au préalable convertir chacune des cellules en valeur numérique, si nécessaire. Grâce à la fonction CNUM, cette conversion est automatique. Grâce à la formule suivante on construit notre test correctement.
=ESTNUM(CNUM(STXT(A2,SEQUENCE(,NBCAR(A2)),1)))



Etape 3 : Isoler seulement les nombres
Maintenant, pour regrouper uniquement les nombres, donc là où le test est VRAI, il suffit d'utiliser la fonction FILTRE.
Donc, nous devons écrire comme liste à filtrer, le découpage de notre cellule (première formule de cet article) et comme critère de filtrage, le test sur les nombres.
=FILTRE(CNUM(STXT(A2,SEQUENCE(,NBCAR(A2)),1)),ESTNUM(CNUM(STXT(A2,SEQUENCE(,NBCAR(A2)),1))))



Etape 4 : Regrouper les chiffres ensemble
Enfin, il ne reste plus qu'à regrouper tous les nombres dans une seule cellule. Pour cela, nous allons utiliser la fonction JOINDRE.TEXTE
=JOINDRE.TEXTE("",,
FILTRE(CNUM(STXT(A2,SEQUENCE(,NBCAR(A2)),1)),
ESTNUM(CNUM(STXT(A2,SEQUENCE(,NBCAR(A2)),1)))))



Retrouvez d'autres exemples avec la fonction SEQUENCE dans cette section ou sur le site de Microsoft
20/01/2023 @ 12:47
Bonjour,
je cherche à extraire "YQ -13000" dans une cellule qui contient ces caractèressuivants:
DF -5000,00;HP -2800,00;KQ -3000,00;YQ -13000,00;ZE -5000,00;VH -0,00;
20/01/2023 @ 13:48
Il faut soit utiliser le remplissage instantané, ou utiliser la fonction FRACTIONNER.TEXTE
18/09/2022 @ 08:18
Bonjour,
Je cherche à trouver dans une liste de 100 à 200 combien y à t'il de 2
Je vous en remercie par avance
Excellemment votre
Didier.chantriaux@gmail.com
31/05/2022 @ 14:18
Bonjour,
Je voudrais extraire le chiffre 030 de ma cellule suivante
GP-030-010-080-001 goupille piton. Auriez-vous la formule qui permet de le faire svp.
Meilleures salutations
31/05/2022 @ 15:25
Oui, avec la fonction CHERCHE et en le combinant avec la fonction GAUCHE
01/02/2022 @ 22:50
Bonjour J'ai utilisé la fonction Filtre et celle-ci fonctionne a l'exception d'une cellule ou il y a beaucoup de caractère et celle-ci n'affiche pas le résultat .
Pouvez-vous me conceiller
11/02/2022 @ 16:59
Je crois que la fonction FILTRE est limitée à 256 caractères