fonction "cherche" mais en partant de la droite de la chaine de caractere

philppe27

XLDnaute Occasionnel
Bonjour,

Je dois rechercher un espace dans une chaîne de caractère mais en partant de la droite de cette chaîne de caractère pour ensuite en faire un extrait (en effet, il peut y avoir dans la chaîne plusieurs espaces).
Je connais la fonction "cherche" mais qui recherche en partant de la gauche de la chaîne.
Je pense qu'il doit y avoir une astuce pour obtenir ce résultat mais cela m'échappe.

Merci d'avance pour vos réponses,

Cordialement.
 

bcharef

XLDnaute Accro
Re : fonction "cherche" mais en partant de la droite de la chaine de caractere

Bonjour philppe27,
Bonjour à toutes et à tous.

La jointure d'un fichier comme exemple de votre problème sans données confidentielles permettra de comprendre le problème d'une part et apportera beaucoup d'aide d'autre part.

Cordialement.

BCharef
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : fonction "cherche" mais en partant de la droite de la chaine de caractere

Bonjour,

A1 contient aaa bbbb ccc dddd

=NBCAR(A1)-EQUIV(" ";STXT(A1;NBCAR(A1)-LIGNE($1:$255);1);0)
Valider avec maj+ctrl+entrée

Donne la position du dernier espace

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

ou

=CHERCHE("|";SUBSTITUE(A1;" ";"|";NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))))

JB
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : fonction "cherche" mais en partant de la droite de la chaine de caractere

Bonjour à tous
Personnellement, je passe par la fonction
Code:
[COLOR="DarkSlateGray"]Function renverse(s As String) As String
Dim i As Integer
   For i = 1 To Len(s)
      renverse = Mid$(s, i, 1) & renverse
   Next i
End Function[/COLOR]
et j'écris
Code:
[COLOR="DarkSlateGray"]=renverse(GAUCHE(renverse(A1);CHERCHE(" ";renverse(A1))-1))[/COLOR]
On peut évidemment donner un nom plus court à la fonction pour raccourcir l'écriture de la formule.​
ROGER2327
#1969
 

pierrejean

XLDnaute Barbatruc
Re : fonction "cherche" mais en partant de la droite de la chaine de caractere

bonjour a tous (Que de beau monde !!)

Quitte a ecrire une fonction:

Code:
Function derriere_dernier_espace(cellule As Range)
  derriere_dernier_espace = Mid(cellule, InStrRev(cellule, " ") + 1)
End Function
 

ROGER2327

XLDnaute Barbatruc
Re : fonction "cherche" mais en partant de la droite de la chaine de caractere

Re...
(...)
ROGER2327: Why not :confused:

Code:
Function envers(s As String) As String
envers = StrReverse(s)
End Function
Tout simplement parce que j'ai ressorti une très vieille fonction... ...et que j'ai oublié de la moderniser.
Il va de soit que l'utilisation de StrReverse s'impose.​
ROGER2327
#1970
 

Discussions similaires

Statistiques des forums

Discussions
312 237
Messages
2 086 486
Membres
103 232
dernier inscrit
logan035