Utilisation de la fonction STEXT sous Excel

clement_a -  
PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je me tourne vers vous pour résoudre un problème Excel...

En effet je suis à la recherche d'une méthode pour pouvoir extraire à partir d'une cellule Excel une chaîne de caractère. Mon soucis vient du fait de la longueur de cette chaîne de caractère car avec la fonction STEXT il faut spécifier le nombre de caractère. Or lorsque ces valeurs ont été rentrée cela a été fait un peu à la sauvage sachant que la chaîne de caractère que je veux extraire est toujours de la forme :

lllccccccc (comprenez l pour lettre et c pour chiffre), malheureusement certains petits malins se sont amusés à rentrer cette chaîne de façons diverses et variées comme :

lll:ccccccc
lll ccccccc
lll : ccccccc
lll :ccccccc

Enfin bref tout est imaginable, il se trouve que les 3 lll sont toujours les mêmes j'ai pu donc grâce à la fonction CHERCHE isolé ces membre là, par contre comme vous pouvez le voir le nombre de caractère de fin change de valeur allant de 9 à 12, si je veux avoir toutes mes valeurs de chiffre il faut donc que je mette 12 en nombre de caractère final avec la probabilité de tomber sur de nouveaux caractères qui n'ont rien à voir avec ce que je cherche lorsqu'il n'y en a que 9...(Vous suivez ? ;))

Je n'ai plus d'idée pour venir à bout de ce problème épineux sachant que mon tableau a 6000 lignes je me vois mal tout reprendre à la main...

Merci d'avance pour votre aide ! (ah oui j'oubliais pour compliquer la tâche je ne connais rien aux macros et au VBA... comme ça c'est plus facile non ?)

Clément

A voir également:

4 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

devrait aller: adaptez a la cellule de debut et etirez vers le bas

=STXT(A2;4+NBCAR(A2)-9;6)
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

et droite(A2;6) ça ne le fait pas ?
eric
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour eriiic,

Ah! Que si, mais comme le gars citait STXT, j'ai plonge...
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
ça fait ça des fois :-)
Mais bon, reste à savoir s'il a réellement que ça dans sa cellule.
Garde le stxt() sous le coude ;-)
eric
0
PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824
 
bonjour

Si la cellule contient toujours le nombre à la fin et qu'il y a toujours 6 caractées la formule d'Eriiic =droite(A1;6) est la plus simple

Autrement on peut faire:

Pour traiter le cas des ":" ou " " et ne sachant pas s'il y a toujours le même nombre de caractère et pour supprimer les espaces superflus

=SI(ESTERREUR(CHERCHE(":";A1;1));SUPPRESPACE(STXT(A1;CHERCHE(" ";A1;1)+1;NBCAR(A1)-CHERCHE(" ";A1;1)));SUPPRESPACE(STXT(A1;CHERCHE(":";A1;1)+1;NBCAR(A1)-CHERCHE(":";A1;1))))
0