EXCEL VBA - Ne garder que les chiffres d'une cellule

EXCEL VBA - Ne garder que les chiffres d'une cellule - VB/VBA/VBS - Programmation

Marsh Posté le 25-03-2011 à 11:24:38    

Question assez urgente, si qqn a la soluce mille merci.
 
J'ai dans une colonne EXCEL des cellules qui mélange texte et chiffres :
"Application (21690004500011)"
 
Je voudrais ne faire apparaître que le numéro qui apparaît entre parenthèse (et sans les parenthèses !)  
Une idée ?
 
Merci d'avance


---------------
Don't dream it, be it !
Reply

Marsh Posté le 25-03-2011 à 11:24:38   

Reply

Marsh Posté le 25-03-2011 à 11:33:03    

le format est toujours "unmot(unnombre)"?
Sans rien devant, ni derrière, ni espace?
 
edit :
ça donnerait un truc genre :  
 
=STXT(A1;CHERCHE("(";A1;1)+1;CHERCHE(" )";A1;1)-CHERCHE("(";A1;1)-1)


Message édité par Arl Guhr le 25-03-2011 à 11:40:51
Reply

Marsh Posté le 25-03-2011 à 13:13:22    

En fait dans chaque cellule j'ai ça :  
Application (FLC) Tirex (21690004500011)
et je veux ne faire afficher que 21690004500011
J'ai essayé ta formule, mais ça me donne #valeur


---------------
Don't dream it, be it !
Reply

Marsh Posté le 25-03-2011 à 13:26:32    

C'est bon, avec ça ça marche :
=STXT(A1;27;14), merci pour la piste de la fonction STXT.
Par contre y a pas moyen de transformer le nombre affiché en réelle valeur numérique, ça reste du texte pour EXCEL, et du coup pas moyen de l'exploiter..


---------------
Don't dream it, be it !
Reply

Marsh Posté le 25-03-2011 à 13:51:48    

Pour terminer, j'ai résolu mon problème initial qui était de comparer 2 colonnes de numéros SIRET. Une étant ma colonne mélangeant texte et chiffre, l'autre étant strictement numérique.
 
Avec ma première fonction STXT (merci Arl Guhr), j'ai pu ne faire afficher que mes 14 numéros de SIRET. [:cytrouille]  
 Mais le problème pour les comparer à l'autre c'est que ça reste toujours du "texte" d'un coté et des valeurs numériques de l'autre, donc impossible de simplement utiliser Si(A1=B1;vrai;faux).  [:haha fail]  
En revanche la fonction EXACT(A1;B1) fait cette comparaison quelque soit la nature de ce que l'on compare, il s'en tient à la comparaison de la chaine de caractères. C'est Excel-ent !  [:never let me down]  [:j-kay]  
 
NB : finalement ce n'est pas du VBA et ça n'avait rien à faire ici, mais bon ça peut toujours intéresser quelqu'un.  [:biboo_]


---------------
Don't dream it, be it !
Reply

Marsh Posté le 25-03-2011 à 13:59:15    

le forum à ajouté un espace parasite entre " et ) dans le second "cherche"
Et vu le jeux de parenthèses supplémentaires, il faut un truc genre :
 
=CNUM(STXT(A1;CHERCHE("(";A1;CHERCHE(" )";A1;1)+1)+1;CHERCHE(" )";A1;CHERCHE(" )";A1;1)+1)-CHERCHE("(";A1;CHERCHE(" )";A1;1)+1)-1))
 
vala

Reply

Marsh Posté le 25-03-2011 à 14:08:05    

Ok, merci pour CNUM, elle m'avait échappé celle-là !
par contre, ça marche aussi avec simplement ça :
=CNUM(STXT(E2;27;14))
Ta formule m'indique toujours un message d'erreur (et j'ai bien remplacé A1 par E2, ma cellule de référence).


---------------
Don't dream it, be it !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed