Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Extraire une suite de caractère d'une cellule jusqu'à arriver sur un chiffre, MACRO

lebast

XLDnaute Junior
Bonjour à tous,

je reviens encore vers vous pour obtenir votre aide si précieuse.

Mon problème est le suivant :

J'ai des codes articles à longueur variables comme ci dessous :
MDE15010595EN
MPE12009518
MDH1209578
MDES12207050RB
MPH100012022

Imaginons que ces données soit dans la feuil!1, colonne A et que je souhaite

je souhaiterais en extraire uniquement les 3 OU 4 lettres présentent avant les chiffres.

voici le résultat obtenues en feuil!2 colonne A, par exemple :
MDE
MPE
MDH
MDES
MPH

Mon problème et que je n'arrive pas à créer une formule ou une macro qui me permette de générer cela.

j'ai essayé ce genre de formule mais sans succés : SI(STXT(A1;4;1)=OU(1;2;3;4;5;6;7;8;9;0);GAUCHE(A1;3);GAUCHE(A1;4))

Pourriez vous m'aider à trouver un code pour une macro qui me permettrait d'obtenir cela ?

je vous remercie par avance.
 

R@chid

XLDnaute Barbatruc
Re : Extraire une suite de caractère d'une cellule jusqu'à arriver sur un chiffre, MA

Bonjour @ tous,
Si on est sûr que c'est juste 3 ou 4 lettres, on peut faire avec,
Code:
=GAUCHE(A1;3)&REPT(STXT(A1;4;1);ESTERR(STXT(A1;4;1)*1))
@ tirer vers le bas


Sinon, on peut faire avec une formule matricielle,
Code:
=GAUCHE(A1;EQUIV(VRAI;ESTNUM(CNUM(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)));0)-1)
@ valider par Ctrl+Maj+Entree
@ tirer vers le bas


@ + +
 

sousou

XLDnaute Barbatruc
Re : Extraire une suite de caractère d'une cellule jusqu'à arriver sur un chiffre, MA

Bonjour lebast
essaie cette fonction
A mettre dans un module
Function mafonction(valeur)
For i = 1 To Len(valeur)
If IsNumeric(Mid(valeur, i, 1)) = True Then
n = i
Exit For
End If
Next
mafonction = Left(valeur, i - 1)
End Function
 

lebast

XLDnaute Junior
Re : Extraire une suite de caractère d'une cellule jusqu'à arriver sur un chiffre, MA

Bonjour et merci à vous deux,

la première méthode marche nikel !! et je t'en remercie

la seconde je l'essais ce soir. je dois remplacer (valeur) par la cellule à extraire ?

vous remerciant grandement !!!
 

sousou

XLDnaute Barbatruc
Re : Extraire une suite de caractère d'une cellule jusqu'à arriver sur un chiffre, MA

Tu l'utilise dans une cellule comme une focntion excel
=mafonction(adresse de ta cellule)
=mafonction("a1") par exemple
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…