Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

os_rouen

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

Bonjour & Merci Pierre-Jean,

C'est un tour de magie? Comment fais-je pour utiliser ta fonction personalisée?

C'est une partie d'Excel que je ne connais pas...

Olivier
 

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
 

pierrejean

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

re

voila la fonction commentée (au mieux que je puisse faire)
 

Pièces jointes

  • dermot.xls
    22 KB · Affichages: 387
  • dermot.xls
    22 KB · Affichages: 392
  • dermot.xls
    22 KB · Affichages: 394

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

Pierrot93

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

Bonjour à tous,

une autre pour le fun :
Code:
Function dermot(cellule As Range)
    dermot = Split(cellule)(UBound(Split(cellule)))
End Function

bon après midi
@+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…