XL 2016 Est il possible d'extraire les caractères qui sont présents après le dernier espace dans une chaine de caractères

  • Initiateur de la discussion Initiateur de la discussion Kris22
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Kris22

XLDnaute Nouveau
Bonjour
je cherche le moyen d'extraire les derniers caractères du nom de mon produit.
Ces derniers caractères sont tous après le dernier espace du Nom et correspondent à la référence fournisseur de mon produit.
Est ce que cela est possible?

Merci d'avance de votre aide



Référence​
Nom​
résultat souhaité
10202015​
ENDOPROTHESE VASCULAIRE PERIPH AUTOEXP LIFESTENT 5Fr 7,0 x 080mm P:080cm 5F070801C
5F070801C
6236783​
AIG BIOPSIE 14G 60MM T146
6236800​
AIG BIOPSIE 16G 60MM T166
6220559​
AIGUILLE/PINCE SCORPION MULTIFIRE A ENCOCHE AR-13995N
6277439​
BALLON ULTRA-SON ECHO-ENDO. B20BU ref 16163074
 
Hello
avec une fonction personnalisée
VB:
Private Function RefFournisseur(target As Range) As String
    a = Split(target, " ")
    RefFournisseur = a(UBound(a))
End Function

tu mets ca dans un module standard
et tu utilises la fonction comme une fonction excel en C2
=RefFournisseur(B2)

et comme ton exemple contient autre chose que des espaces
 

Pièces jointes

Bonjour
je cherche le moyen d'extraire les derniers caractères du nom de mon produit.
Ces derniers caractères sont tous après le dernier espace du Nom et correspondent à la référence fournisseur de mon produit.
Est ce que cela est possible?

Merci d'avance de votre aide



Référence​
Nom​
résultat souhaité
10202015​
ENDOPROTHESE VASCULAIRE PERIPH AUTOEXP LIFESTENT 5Fr 7,0 x 080mm P:080cm 5F070801C
5F070801C
6236783​
AIG BIOPSIE 14G 60MM T146
6236800​
AIG BIOPSIE 16G 60MM T166
6220559​
AIGUILLE/PINCE SCORPION MULTIFIRE A ENCOCHE AR-13995N
6277439​
BALLON ULTRA-SON ECHO-ENDO. B20BU ref 16163074
Bonjour,
par formule, en supposant que la colonne "Nom" est la colonne B et que le titre est en B1 :
VB:
=DROITE(B2;NBCAR(B2)-SIERREUR(TROUVE(CAR(1);SUBSTITUE(B2;" ";CAR(1);NBCAR(B2)-NBCAR(SUBSTITUE(B2;" ";""))));0)
à étirer sur les lignes voulues
Cordialement
 
Bonjour et merci beaucoup pour ces retours.

Pour la formule
=DROITE(A1;EQUIV(" ";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0))
peux tu m'expliquer comment elle fonctionne.
Je connais chaque fonction utilisée seule, sauf LIGNE, mais je ne comprends pas comment tu les combines :
DROITE où tu indiques que mon texte se trouve en A1
EQUIV : là tu cherches les positions des espaces
NBCAR : tu comptes le nombre de caractère dans la cellule A1
et avec STXT tu demandes à extraire
mais qu'est-ce qui indique / ou comment indiques-tu que tu ne gardes que ce qui est après le dernier espace?

Merci d'avance
 
Bonjour à tous

@Kris22

Je te propose cette formule si tes données sont en A1 par exemple



A valider par Ctrl + Maj + Entrée

Regarde la pièce jointe 1199140

Formule de JB

Merci de ton retour
Je recopie mon message ici, je crains de ne pas avoir mis ma réponse au bon endroit, désolée, je débute en forums..

Bonjour et merci beaucoup pour ces retours.

Pour la formule
=DROITE(A1;EQUIV(" ";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0))
peux tu m'expliquer comment elle fonctionne.
Je connais chaque fonction utilisée seule, sauf LIGNE, mais je ne comprends pas comment tu les combines :
DROITE où tu indiques que mon texte se trouve en A1
EQUIV : là tu cherches les positions des espaces
NBCAR : tu comptes le nombre de caractère dans la cellule A1
et avec STXT tu demandes à extraire
mais qu'est-ce qui indique / ou comment indiques-tu que tu ne gardes que ce qui est après le dernier espace?

Merci d'avance
 
une autre, plus alambiquée, fondée sur le meme principe

=DROITE(SUBSTITUE(E4;" ";"$";SOMME((STXT(E4;LIGNE(INDIRECT("$1:$"&NBCAR(E4)));1)=CAR(32))*1));NBCAR(E4)-CHERCHE("$";SUBSTITUE(E4;" ";"$";SOMME((STXT(E4;LIGNE(INDIRECT("$1:$"&NBCAR(E4)));1)=CAR(32))*1))))

je cherche combien il y a d"espace dans le mot, je remplace le dernier par $ je cherche la place de $ dans le mot et je prends le reste du mot apres $
 
une autre, plus alambiquée, fondée sur le meme principe

=DROITE(SUBSTITUE(E4;" ";"$";SOMME((STXT(E4;LIGNE(INDIRECT("$1:$"&NBCAR(E4)));1)=CAR(32))*1));NBCAR(E4)-CHERCHE("$";SUBSTITUE(E4;" ";"$";SOMME((STXT(E4;LIGNE(INDIRECT("$1:$"&NBCAR(E4)));1)=CAR(32))*1))))

je cherche combien il y a d"espace dans le mot, je remplace le dernier par $ je cherche la place de $ dans le mot et je prends le reste du mot apres $
Merci, c'est très compliqué mais à ça fonctionne bien aussi
 
Re

@Kris22

Formule de JB

Et voici l'explication directement du créateur de la formule 😉


Je ne crois pas que cela toi qui est trouvé la solution alors pourquoi valider ton propre post !!!

La logique est de valider le post contenant la réponse que tu as choisi et non pas ton propre post car tu n'as rien trouvé du tout sinon tu ne serais pas venu demander de l'aide 😵 😉
 
Moi, ce que je ne pige pas, c'est que si les proposition #2, #3, #4 et #8 fonctionnent, la proposition #9 ne devrait pas fonctionner, et réciproquement. Nan ? 🤔

Autrement dit : si le tableau mis dans la question est vraiment représentatif du vrai tableau, #9 doit fonctionner, mais #2, #3, #4 et #8 ne devraient pas fonctionner.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour