Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Jusqu'au 1er espace à partir de la droite

4 réponses
Avatar
Ely
Bonjour,

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

Merci de me dépanner

Ely

4 réponses

Avatar
Fdecourt
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.
Avatar
garnote
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" a écrit dans le message de news:

Bonjour,

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

Merci de me dépanner

Ely


Avatar
Caetera
> 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
Avatar
Mishell
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" wrote in message
news:
Bonjour,

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

Merci de me dépanner

Ely