Cet article va vous montrer comment extraire tous les chiffres d'une cellule Excel contenant chiffres et 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.
Nous allons alors écrire la fonction suivante. Seulement, ça ne va pas fonctionner 😒
=ESTNUM(STXT(A2,SEQUENCE(,NBCAR(A2)),1))

En fait, Excel considère chaque élément comme du TEXTE 😯Mais grâce à la fonction CNUM, chaque partie sera comprise comme du texte ou un nombre.
Avec 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
22/08/2023 @ 07:28
C'était si simple avant avec cnum ()
25/08/2023 @ 11:06
Non, CNUM converti un texte en nombre (si le contenu est numérique). Là j'explique comment extraire les nombres d'une chaine de caractères qui ont à la fois Texte et Nombre
08/08/2023 @ 15:25
Bonjour,
Est il possible de garder uniquement un nombre de 10 caractères minimum et non une suite de chiffres ?
Exemple :
‘am-23557569000 rf08-08-3
Réponse attendue : 23557569000
Ou alors séparer les nombres par des ;
Exemple :
‘am-23557569000 rf08-08-3
Réponse attendue : 23557569000;08;08
Merci par avance
10/08/2023 @ 15:39
Vous pouvez juste rajouter un gauche((la fonction donnée);10)
12/07/2023 @ 21:05
Bonjour,
Vos tutos sont excel, un peu de pommade ça fait du bien.
Une fois extrait, j'aurais voulu faire une somme de ces nombres, cependant ça donne un résultat de 0. Qu'est ce que j'ai raté ??
14/07/2023 @ 04:33
C'est parce que le résultat est toujours considéré comme du texte. Il faut mettre l'ensemble de la formule dans la fonction N(votre formule)
08/06/2023 @ 15:35
bonjour, il me semble comme si cette formule Excel =STXT(B2;SEQUENCE(;NBCAR(B2));1) ne soit pas compatible avec Sheets de Google bien que traduite au langage Sheets
=MID(B2;SEQUENCE(1;LEN(B2));1)
pouvez vous me donner la bonne formule sur Sheet's
Merci d avance
21/05/2023 @ 16:41
JE CHERCHE À EXTRAIRE 6 DE 6HRS. QUELLE FONCTION FERAIT L'AFFAIRE? MERCI
25/05/2023 @ 06:25
Utilisez l'outil Remplacer (Ctrl + H) pour retirer les lettres que vous ne voulez pas conserver
16/05/2023 @ 13:45
Bonjour, merci beaucoup pour votre guide,
savez vous s'il est possible d'isoler les chiffres ET le séparateur des décimales (point ou virgule) qui se trouve dans la suite de chiffres ? Je n'arrive qu'à obtenir une suite de chiffres mais en perdant l'information de la délimitation des décimales.
Par avance merci
19/05/2023 @ 11:15
Bonjour, là je ne comprends pas le problème. Vous avez un exemple concret ?
05/05/2023 @ 09:43
PEUT ON VOIR UN FICHIER EXCEL AVEC LA FORMULE
05/05/2023 @ 12:07
Il suffit de recopier la formule. Pas besoin de fichier pour ça.
19/04/2023 @ 13:50
Pour ceux qui utilisent un Excel Français en France, pensez à remplacer les "," par des ";" dans les formules...
20/01/2023 @ 12:50
Bonjour,
je cherche à extraire "YQ -13000,00". les éléments de la cellule sont séparés par des ";".
DF -5000,00;HP -2800,00;KQ -3000,00;YQ -13000,00;ZE -5000,00;VH -0,00;
12/05/2023 @ 01:13
La fonction TEXTE.AVANT fait ce travail sans problème
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