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

VBA Extraire une chaine de caractère entre deux espaces

  • Initiateur de la discussion Initiateur de la discussion Matt51100
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Matt51100

XLDnaute Occasionnel
Bonjour le forum,

Mon problème est le suivant :

Dans une cellule, j'ai le texte suivant : "XXX YYYYYYYYYY 0000000000" ou "XX XXX YYYYYYYYYYYYY 0000000000". J'aimerais extraire la chaine de caractère composé des Y, sachant que :
- Cette chaine a un nombre de caractère variable
- La chaine se termine par un nombre à 10 chiffres
- Ce qu'il y a avant la chaine Y est variable mais il y a toujours un espace entre le dernier X et le premier Y

Il est donc facile à priori de trouver la fin de la chaine avec "Right". Je ne sais pas en revanche trouver le début.

Merci d'avance.

A+, Matt.
 
Re : VBA Extraire une chaine de caractère entre deux espaces

Bonjour,
pour le traitement de chaînes de caractères en VBA, tu peux regarder ici sur le site de JB.
Ces différentes informations devraient te permettre d'arriver à tes fins.
A+
 
Re : VBA Extraire une chaine de caractère entre deux espaces

Bonjour à tous,

regarde peut être ceci :
Code:
Dim t As String
t = "XX XXX YYYYYYYYYYYYY 0000000000"
t = Mid(t, InStrRev(t, " ", 11) + 1)

bon après midi
@+
 
Re : VBA Extraire une chaine de caractère entre deux espaces

Bonjour Matt, David 🙂, Bonjour Pierrot 🙂,

une autre approche

Code:
Dim t As String
t = "XX XXX YYYYYYYYYYYYY 0000000000"
t = split(t)(ubound(split(t))-1)
 
Re : VBA Extraire une chaine de caractère entre deux espaces

Re,
bonjour toto🙂

Aarf, perso compris qu'il fallait récupérer "YYYYYYYYYYYYY 0000000000".... pas sûr du coup que ce que j'ai proposé soit le résultat attendu....
 
Re : VBA Extraire une chaine de caractère entre deux espaces

Re,

Bah, si j'ai raison il suffit de compléter ta proposition 😉

Code:
Dim t As String
t = "XX XXX YYYYYYYYYYYYY 0000000000"
t = Mid(t, InStrRev(t, " ", 11) + 1, InStrRev(t, " ") - InStrRev(t, " ", 11) - 1)
 
Re : VBA Extraire une chaine de caractère entre deux espaces

Bonjour à tous,

Pour ne pas avoir de surprise s'il y a des espaces superflus :

Code:
Dim t As String
 t = Application.Trim("XX XXX        YYYYYYYYYYYYY         0000000000")
 t = split(t)(ubound(split(t))-1)
A+
 
Re : VBA Extraire une chaine de caractère entre deux espaces

Bonsoir à tous,

Merci de vos réponses. J'essaie tout ça demain. Afin de clarifier mon propos c'est la chaine composée des Y qu'il faut que j'extraie.

A+, Matt.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
240
Réponses
7
Affichages
517
Réponses
7
Affichages
724
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…