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

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.
 

CHALET53

XLDnaute Barbatruc
Re : VBA Extraire une chaine de caractère entre deux espaces

bonjour

Un essai

(en plusieurs étapes)

a+
 

Pièces jointes

  • Matt.xls
    27.5 KB · Affichages: 496
  • Matt.xls
    27.5 KB · Affichages: 537
  • Matt.xls
    27.5 KB · Affichages: 546

david84

XLDnaute Barbatruc
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+
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

tototiti2008

XLDnaute Barbatruc
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)
 

Pierrot93

XLDnaute Barbatruc
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....
 

tototiti2008

XLDnaute Barbatruc
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)
 

job75

XLDnaute Barbatruc
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+
 

Matt51100

XLDnaute Occasionnel
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.
 

Discussions similaires

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