Jusqu'au 1er espace à partir de la droite

Le
Ely
Bonjour,

Je voudrais extraire tous les caractères à droite du dernier espace dans la
cellule.

Merci de me dépanner

Ely
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fdecourt
Le #19324371
Bonjour,

Une première solution par macro :

Function Extraire_droite_derniere_espace()
Dim leMot As String
leMot = "il pleut"
leMot = StrReverse(leMot)
If InStr(1, leMot, " ") = 0 Then leMot = "PAS D'ESPACE" Else leMot
= StrReverse(Left(leMot, InStr(1, leMot, " ") - 1))
End Function

Et avec une fonction (silkyroad.developpez.com), à valider par CTRL +
MAJ + ENTER :

=DROITE(A1;EQUIV(" ";STXT(A1;NBCAR(A1) - LIGNE(INDIRECT("1:" & NBCAR
(A1)));1);0))

Cordialement,

F.
garnote
Le #19324491
Bonjour,

Tu pourrais utiliser une fonction personnalisée.
En supposant que ta chaîne soit en A1 :

Function partie(chaine As Range)
ch = RTrim(chaine)
For i = Len(ch) To 1 Step -1
If Mid(ch, i, 1) = " " Then Exit For Else t = t & Mid(ch, i, 1)
Next i
partie = StrReverse(t)
End Function

Si ma mémoire est bonne, StrReverse est disponible depuis la version 2000.

Serge


"Ely"
Bonjour,

Je voudrais extraire tous les caractères à droite du dernier espace dans
la
cellule.

Merci de me dépanner

Ely


Caetera
Le #19324891
> Je voudrais extraire tous les caractères à droite du dernier espace dans la
cellule.



Matricielle :
=STXT(A1;EQUIV(2;1/(STXT(A1;LIGNE(INDIRECT("1:"&NBCAR(A1)));1)=" "))+1;8^8)

Etc
Mishell
Le #19324991
Et si tu veux éviter la fonction StrReverse et limiter les concaténations de
chaînes :

Function partie(chaine As Range)
ch = chaine.Value

'ou si tu veux ne pas tenir compte des caractères Espace
'isolés à droite de la chaîne
'ch = RTrim(chaine.Value)

dernier = Len(ch) + 1
For i = 1 To Len(ch)
If Mid(ch, i, 1) = " " Then
dernier = i + 1
End If
Next
partie = Mid(ch, dernier)

End Function

Mishell

"Ely" news:
Bonjour,

Je voudrais extraire tous les caractères à droite du dernier espace dans
la
cellule.

Merci de me dépanner

Ely


Publicité
Poster une réponse
Anonyme