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

Kris22

XLDnaute Nouveau
Re

@Kris22



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 ;)
Fausse Manip, Phil, désolée.
 

vgendron

XLDnaute Barbatruc
c'est bizarre, je n'ai pas d'espace insecables, que de "vrais" espaces.
Et si je remplace car(32) par car(160), ma formule me renvoie valeur.
Hello
perso, comme il n'y avait pas de fichier exemple, juste un tableau dans le post, j'en ai fait un copier coller vers excel
et en testant ma fonction personnalisée, j'ai vu qu'il y avait cet espace insecable (car(160))
peut etre ajouté lors du copier coller??
 

vgendron

XLDnaute Barbatruc
du coup.. pour s'affranchir des car(160), ma fonction deviendrait
VB:
Private Function RefFournisseur(target As Range) As String
    a = Split(WorksheetFunction.Substitute(target, Chr(160), " "), " ")
    RefFournisseur = a(UBound(a))
End Function

le mieux serait encore d'avoir le fichier du demandeur et savoir si ca fonctionne ou pas...
 

TooFatBoy

XLDnaute Barbatruc
perso, comme il n'y avait pas de fichier exemple, juste un tableau dans le post, j'en ai fait un copier coller vers excel
et en testant ma fonction personnalisée, j'ai vu qu'il y avait cet espace insecable (car(160))
Moi, pareil ! 😉


peut etre ajouté lors du copier coller??
Excellente question !


du coup.. pour s'affranchir des car(160), ma fonction deviendrait
Est-ce à dire que dans ta fonction originelle, en #2, tu avais mis une espace insecable entre les guillemets ?


le mieux serait encore d'avoir le fichier du demandeur et savoir si ca fonctionne ou pas...
L'espoir fait vivre, dit-on...
 

TooFatBoy

XLDnaute Barbatruc
et ca correspond à une touche du clavier?? ou c'est mis automatiquement par word ou excel, lors d'une mise en forme particulière?
Sous Windows on peut utiliser <Alt>0160.

Je crois que sous Word, on peut utiliser une touche morte en même temps qu'on frappe la touche <espace>.
Mais je ne sais plus quelle est la touche en question... <Maj> ou <Alt> ou <Ctrl> ???

[edit] Apparemment, ce serait <Ctrl>+<Maj>+<espace> pour avoir l'espace insecable dans Word. [/edit]
 
Dernière édition:

Statistiques des forums

Discussions
315 093
Messages
2 116 122
Membres
112 666
dernier inscrit
Coco0505