XL 2019 supprimer les espaces + les lettres et garder les chiffres

Sofiane Boukecha

XLDnaute Nouveau
Bonjour tout le monde,

svp, j'ai une colonne qui est constituée de " lettres + chiffres + espaces". moi j'aimerai garder uniquement les chiffres.

merci à vous.
 

Pièces jointes

  • test 22.xlsx
    16.4 KB · Affichages: 25
Solution
Bonjour à tous,

Depuis Excel 2016 il existe la fonction JOINDRE.TEXTE.

Voyez le fichier joint et cette formule matricielle en E4 :
Code:
=JOINDRE.TEXTE("";VRAI;SIERREUR(--STXT(B4;LIGNE(INDIRECT("1:"&NBCAR(B4)));1);""))
à valider par Ctrl+Maj+Entrée.

A+

D.D.

XLDnaute Impliqué
Bonjour,

VB:
En A1: EjhgjgTvb.  032DFHH ,n FP-A1sdgfhg
En B1:
=STXT(A1;MIN(SI(ESTNUM(CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1));CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1);""));MIN(SI(ESTNUM(CHERCHE({"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z"};STXT(A1;MIN(SI(ESTNUM(CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1));CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1);""));999)));CHERCHE({"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z"};STXT(A1;MIN(SI(ESTNUM(CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1));CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1);""));999));""))-1)

le résultat: 032 → que les 1er chiffres
 

Sofiane Boukecha

XLDnaute Nouveau
Bonjour,

VB:
En A1: EjhgjgTvb.  032DFHH ,n FP-A1sdgfhg
En B1:
=STXT(A1;MIN(SI(ESTNUM(CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1));CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1);""));MIN(SI(ESTNUM(CHERCHE({"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z"};STXT(A1;MIN(SI(ESTNUM(CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1));CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1);""));999)));CHERCHE({"a";"b";"c";"d";"e";"f";"g";"h";"i";"j";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"v";"w";"x";"y";"z"};STXT(A1;MIN(SI(ESTNUM(CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1));CHERCHE({0;1;2;3;4;5;6;7;8;9};$A1);""));999));""))-1)

le résultat: 032 → que les 1er chiffres
merci beaucoup pour votre retour,
mais j'avoue que je suis nul en VBA :(
 

Sofiane Boukecha

XLDnaute Nouveau
Utilise données==>obtenir des données
merci infiniment, ça marche très bien, vous l'avez bien deviné car je vais utiliser même la partie "en lettres"
bien pensé de faire le "ID1" et le "ID2"

j'avoue que je ne connais pas ces requêtes et powerquery, mais ça à l'air super utile, pouvez vous m'expliquer ce que vous avez fait? un tuto ou lien pour avoir une idée en claire.

merci beaucoup
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, les forumeurs

1) Je respecte la consigne de l'exemple 1
En A1 : cpa-cpa 652154
En B1 : =DROITE(A1;CHERCHE(" ";A1)-2)*1 renvoie 652154

2) je me fais plaisir

En A2, toujours: 652154
En B2
= FILTRE.XML("<t><s>"&SUBSTITUE($A2;" ";"</s><s>")&"</s></t>";"//s[.*0=0]")

3) Je me lâche et je fais encore un peu plus plaisir (en entrant dans la matrice) ;)

En A3, on a:
L'armée des 12 singes; L'ascenceur de 22h43 1984 Alligator 427
En B3:H3
C'est là qu'est mon petit plaisir, on a la formule suivante validée matriciellement

=TRANSPOSE(FILTRE.XML("<t><s>"&SUBSTITUE($A3;" ";"</s><s>")&"</s></t>";"//s[translate(.,'1234567890','')!=.]"))


NB: Mon plaisir n'est accessible qu' partir d'Excel 2013 et supérieur.
 

Sofiane Boukecha

XLDnaute Nouveau
Bonsoir le fil, les forumeurs

1) Je respecte la consigne de l'exemple 1
En A1 : cpa-cpa 652154
En B1 : =DROITE(A1;CHERCHE(" ";A1)-2)*1 renvoie 652154

2) je me fais plaisir

En A2, toujours: 652154
En B2
= FILTRE.XML("<t><s>"&SUBSTITUE($A2;" ";"</s><s>")&"</s></t>";"//s[.*0=0]")

3) Je me lâche et je fais encore un peu plus plaisir (en entrant dans la matrice) ;)

En A3, on a:
L'armée des 12 singes; L'ascenceur de 22h43 1984 Alligator 427
En B3:H3
C'est là qu'est mon petit plaisir, on a la formule suivante validée matriciellement

=TRANSPOSE(FILTRE.XML("<t><s>"&SUBSTITUE($A3;" ";"</s><s>")&"</s></t>";"//s[translate(.,'1234567890','')!=.]"))


NB: Mon plaisir n'est accessible qu' partir d'Excel 2013 et supérieur.
merci beaucoup pour votre retour,
mais vos formules ne prennent pas en considération le "0" si il est au début (ex: cpa 045215).

bonne journée.
 

D.D.

XLDnaute Impliqué
merci beaucoup pour votre retour,
mais vos formules ne prennent pas en considération le "0" si il est au début (ex: cpa 045215).

bonne journée.
Hello

Peut etre ai-je loupé un tour, mais les formules fonctionnent si:
o Il y a un espace avant le chiffre
o il n'y a pas de lettre après le chiffre

je veux pas être pénible (encore que), mais ce n'etait pas l'énoncé.
constituée de " lettres + chiffres + espaces
(c'etait par contre le fichier exemple)

bon, bref, si ca fonctionne tant mieux, mais PowerQuery j'aime pas. J'ai tjs des problèmes de dates mal formatées avec.
 

Discussions similaires

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87