Extraction de la partie droite d'une chaine de caractères après le dernier espace

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 !

Webperegrino

XLDnaute Accro
Supporter XLD
Bonjour Le Forum et meilleurs vœux à vous tous pour 2015 dans le Monde de Excel,

Je bloque sur l'extraction d'une partie droite de texte figurant dans ma ComboRef.
Cette partie droite est variable en longueur et nous devrions réussir à placer le résultat par macro dans une feuille en colonne A.

Deux exemples :
Tee Shirt ABCD - Taille M
M devrait placer en colonne A

Tee Shirt WXCVB - Taille XXL
XXL devrait se placer dans la colonne A

J'ai essayé avec la formule VBA suivante, sans bon résultat :
With Sheets("Mvts")
DerLigne = .Range("B65536").End(xlUp).Row + 1
x= Me.ComboRef.Text
.Range("A" & DerLigne) = Right(x, Len(x) - Search(" ", x, 1))

Pouvez-vous m'indiquer la bonne formulation VBA ?
Cordialement,
Webperegrino
 
Re : Extraction de la partie droite d'une chaine de caractères après le dernier espac

Bonjour,

regarde l'exemple ci-dessous, à adapter à ton projet :
Code:
Dim x As String
x = "Tee Shirt WXCVB - Taille XXL"
Cells(Rows.Count, 1).End(xlUp)(2) = Split(x)(UBound(Split(x)))

bonne journée
@+
 
Re : Extraction de la partie droite d'une chaine de caractères après le dernier espac

Le Forum,
Bonjour Pierrot93 pour ta réponse rapide.
Malheureusement cela m'affiche "FAUX" dans la colonne A.

Voici ce que j'ai mis dans la codification (la partie qui nous concerne) :

VB:
.../...
With Sheets("Mvts")
DerLigne = .Range("B65536").End(xlUp).Row + 1
 '.Range("A" & DerLigne) = Right(Me.ComboRef, Len(Me.ComboRef) - InStr(UCase(Me.ComboRef), " ") - 1)
x = Me.ComboRef.Value
.Range("A" & DerLigne) = Cells(Rows.Count, 1).End(xlUp)(2) = Split(x)(UBound(Split(x)))
.../...

Webperegrino
 
Re : Extraction de la partie droite d'une chaine de caractères après le dernier espac

Bonjour à tous

une autre version
Code:
DerLigne = .Range("B65536").End(xlUp).Row + 1
x = Split(Me.ComboRef.Text," ")
.Range("A" & DerLigne) = x(UBound(x))

A+
 
Re : Extraction de la partie droite d'une chaine de caractères après le dernier espac

Re,
Bonjour Paf

peut être en adaptant comme ceci :
Code:
Dim x As String
x = "Tee Shirt WXCVB - Taille XXL"
Range("A" & Cells(Rows.Count, 2).End(xlUp).Row + 1) = Split(x)(UBound(Split(x)))
 
Re : Extraction de la partie droite d'une chaine de caractères après le dernier espac

Le Forum,
Bonjour Paf,
Merci pour vos interventions, Pierrot93 et Paf.
Pour le moment c'est Paf qui gagne !
Paf, ta solution #4 fonctionne parfaitement et plus faire plus court...
Pour la dernière proposition de Pierrot, nous obtenons un message d'erreur d'exécution n° 9 'indice inconnu dans la sélection'.
Encore une fois merci à vous deux.
Webperegrino
 
Re : Extraction de la partie droite d'une chaine de caractères après le dernier espac

Bonsoir,

en 1 ligne :

VB:
.Range("A" & .Range("B65536").End(xlUp).Row + 1) = Split(Me.ComboRef.Value, " ") _
(UBound(Split(Me.ComboRef.Value)))

Latrent
 
Dernière édition:
Re : Extraction de la partie droite d'une chaine de caractères après le dernier espac

Bonsoir à tous

[POUR INFOS]
L'espace est le séparateur par défaut de Split
Donc on peut simplifier en :
.Range("A" & .Range("B65536").End(xlUp).Row + 1) = Split(Me.ComboRef.Text) _
(UBound(Split(Me.ComboRef.Text)))

(Comme c'est déjà le cas dans les propositions de Pierrot93 )

NB: Par prudence , j'ai remplacé .Value par .Text
(car Split attend du String (voir dans l'aide VBA)

[/POUR INFOS]

EDITION
: Exact pour Paf 😉
 
Dernière édition:
Re : Extraction de la partie droite d'une chaine de caractères après le dernier espac

Bonsoir Staple1600,

Paf a mi le separateur de texte " " pour le split
x = Split(Me.ComboRef.Text," ")
Par contre c'est vrais qu'il a bien mis Text à la place de Value (Je savais pas cela) Merci Staple

pour le séparateur je savais pas non plus Pierrot93 a fait comme vous (J'ai aussi appris)

Merci le Forum a plaisir d'aider quand je peux

laurent
 
- 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

Discussions similaires

L
Réponses
6
Affichages
20 K
F
L
Réponses
0
Affichages
1 K
L
Retour