Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/08/2011, 14h12   #1
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 6
Points : 3
Points : 3
Par défaut Récupérer dernier mot après un délimiteur dans une chaine de caractères

Bonjour à tous !
Je suis toute nouvelle sur le forum; j'ai quelque bases en VBA, en ayant appris sur le tas, et j'ai besoin de votre aide pour créer la fonction suivante:

il faudrait qu'à partir d'une chaine de caractères, je puisse récupérer le dernier mot séparé par un délimiteur particulier (par exemple, un tiret -).

Par exemple, à partir de "bleu-blanc-rouge-vert", récupérer le mot "vert".

En particulier, les mots de la chaine de caractères n'ont pas tous le même nombre de caractères, et le nombre de mots dans la chaine n'est pas non plus fixe.

De ce que j'ai lu, "Mid" pourrait m'être utile, mais je ne sais pas comment l'utiliser avec mes contraintes...

Merci pour votre aide!
macleme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 14h18   #2
Expert Confirmé
 
Homme Philippe
ex Observeur CGG / Analyste prog.
Inscription : juin 2006
Messages : 1 704
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : ex Observeur CGG / Analyste prog.

Informations forums :
Inscription : juin 2006
Messages : 1 704
Points : 3 625
Points : 3 625
Salut, voir aide en ligne sur Split et UBound

Bref qqch comme
Code :
1
2
3
4
5
6
7
8
9
Dim sStr As String
Dim Ar() As String
Dim Elem As String
 
    sStr = "bleu-blanc-rouge-vert"
    Ar = Split(sStr, "-")
    Elem = Ar(UBound(Ar))
 
    Debug.Print Elem
__________________
Pensez à Voter, d'avance merci. ( Pouces en bas à la droite de Citer )
Balisez votre code après l'avoir indenté sous Excel via Smart Indenter
Autre utilitaire : MZ Tools 3.0 VBA

Contribution : Excel / Word / PDF avec Adobe Acrobat Pro / PDFCreator 1 2
kiki29 est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/08/2011, 14h45   #3
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Bonjour
Une autre variante
Code :
1
2
3
4
Dim Mot As String
 
Mot = "bleu-blanc-rouge-vert"
Debug.Print Mid(Mot, InStrRev(Mot, "-") + 1)
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/08/2011, 15h20   #4
Invité de passage
 
Femme
Étudiant
Inscription : août 2011
Messages : 6
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 6
Points : 3
Points : 3
Merci beaucoup! Ca marche nickel
macleme est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h41.


 
 
 
 
Partenaires

Hébergement Web