Trouver le premier espace en partant de la droite

os_rouen

XLDnaute Junior
Bonjour,

Je suis confronté à un problème simple pour lequel je n'arrive pas à trouver de solution dans les tutoriaux :

J'ai des noms de voies pour lequel je souhaite extraire le mot directeur :

Route De Loumare => LOUMARE
Chem des Fermes => FERMES

Je vois bien que la solution est de trouver l'emplacement du premier espace à partir de la droite puis d'extraire les caractères... Aucun problème pour le faire à partir de la gauche mais à partir de la droite... Je séche!!

D'avance merci pour votre aide,

Olivier
 

Tibo

XLDnaute Barbatruc
Re : Trouver le premier espace en partant de la droite

Bonjour,

Pour trouver le dernier espace, essaye avec cette formule :

=TROUVE("µ";SUBSTITUE(A1;" ";"µ";NBCAR(A1)-NBCAR(SUBSTITUE(A1;" ";""))))

Le principe :
- compter le nombre d'espaces du texte
- remplacer ensuite le dernier espace par un caractère particulier (µ)
- déterminer le rang de ce caractère particulier

Essaye et dis nous

@+
 

pierrejean

XLDnaute Barbatruc
Re : Trouver le premier espace en partant de la droite

bonjour os rouen

Salut Tibo

Une solution par fonction personnalisée
 

Pièces jointes

  • dermot.xls
    21.5 KB · Affichages: 448
  • dermot.xls
    21.5 KB · Affichages: 463
  • dermot.xls
    21.5 KB · Affichages: 470

pierrejean

XLDnaute Barbatruc
Re : Trouver le premier espace en partant de la droite

re

pour la recuperer

depuis le fichier dermot.xls

Outils -> Macro > Visual basic Editor

tu dois la trouver dans le module1

la copier

même manip pour aller ensuite la coller dans un module de ton fichier

(il te faudra peut-etre faire dans Visual basic Editor
Insertion > Module )

Ensuite elle s'utilise comme n'importe quelle fonction standard
(en fin de liste des fonctions il y aura 'personnalisées')
 

os_rouen

XLDnaute Junior
Re : Trouver le premier espace en partant de la droite

Okie... cela fonctionne

Serait-il trop de demander de m'expliquer le principe de ton code... Il utilise des fonctions que je ne connais pas (len & mid)... et j'ai du mal à comprendre avec l'aide VB..

D'avance merci

Olivier
 

job75

XLDnaute Barbatruc
Re : Trouver le premier espace en partant de la droite

Bonjour MlleDaria, le fil,

En VBA le plus simple est d'utiliser InStrRev pour trouver le dernier espace :

Code:
Function dermot(cellule As Range)
dermot = Mid(cellule, InStrRev(cellule, " ") + 1, 99)
End Function
Voir l'aide VBA.

A+
 

Pièces jointes

  • dermot avec InStrRev.xls
    30 KB · Affichages: 176

Discussions similaires

Statistiques des forums

Discussions
312 327
Messages
2 087 314
Membres
103 515
dernier inscrit
Cherbil12345