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

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
 
Solution
Bonjour à tous

@Kris22

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

=DROITE(A1;EQUIV(" ";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0))

A valider par Ctrl + Maj + Entrée

1718819125283.png


Formule de JB

Merci de ton retour

vgendron

XLDnaute Barbatruc
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

  • excel.xlsm
    16.5 KB · Affichages: 5

Gégé-45550

XLDnaute Accro
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
 

Kris22

XLDnaute Nouveau
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
 

Kris22

XLDnaute Nouveau
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
 

djidji59430

XLDnaute Barbatruc
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 $
 

Kris22

XLDnaute Nouveau
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
 

Phil69970

XLDnaute Barbatruc
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 o_O ;)
 

TooFatBoy

XLDnaute Barbatruc
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:

Statistiques des forums

Discussions
313 137
Messages
2 095 626
Membres
106 308
dernier inscrit
F.DIAS