Extraction chiffre d'une chaine de caractère régulière [Résolu]

ptitemeuh 83 Messages postés jeudi 4 février 2010Date d'inscription 8 juillet 2010 Dernière intervention - 4 mai 2010 à 09:07 - Dernière réponse : ptitemeuh 83 Messages postés jeudi 4 février 2010Date d'inscription 8 juillet 2010 Dernière intervention
- 4 mai 2010 à 11:19
Bonjour à tous,

En fait, j'ai une liste telle que, par exemple:

10 - Muguet 10/05/2010
9 - Muguet 09/05/2010
8 - Muguet 08/05/2010
7 - Muguet 07/05/2010
6 - Muguet 06/05/2010
5 - Muguet 05/05/2010
4 - Muguet 04/05/2010
3 - Muguet 03/05/2010
2 - Muguet 02/05/2010
1 - Muguet 01/05/2010

Je voudrais extraire juste la première ligne le chiffre avant le tiret qui peut comporter 1 chiffre comme plusieurs par la suite de mon ficher texte. J'ai entendu la fonction Mid mais je ne sais pas elle correspond à mon application et je ne connais pas du tout visual basic
Comment dois-je m'y prendre ?
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 4 mai 2010 à 09:34
3
Merci
Salut,

Essaye ainsi :
Dim index as Long
Dim sTexte as string

Let sTexte = "10 - Muguet 10/05/2010"
Let index = InStr(1, sTexte, "-")
let sTexte = Left(sTexte, index - 1)
MsgBox sTexte


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
Meilleure réponse
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 4 mai 2010 à 09:43
3
Merci
Allez, juste pour donner une autre méthode :

Dim Separation as variant

Separation = split("10 - Muguet 10/05/2010"," - ",,vbTextCompare)

msgbox Separation(0)


Molenn

Merci Molenn 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 85 internautes ce mois-ci

Commenter la réponse de Molenn
ptitemeuh 83 Messages postés jeudi 4 février 2010Date d'inscription 8 juillet 2010 Dernière intervention - 4 mai 2010 à 09:51
0
Merci
Bonjour,

Merci pour votre réponse, cela va beaucoup m'aider. Toutefois, j'ai encore une petite question à vous poser. Au fil du temps, ma liste va être modifiée et d'autres lignes vont être rajoutées, par exemple:
127 - Muguet 03/05/2010
126 - Muguet 02/05/2010
125 - Muguet 01/05/2010

...
...

10 - Muguet 10/05/2010
9 - Muguet 09/05/2010
8 - Muguet 08/05/2010
7 - Muguet 07/05/2010
6 - Muguet 06/05/2010
5 - Muguet 05/05/2010
4 - Muguet 04/05/2010
3 - Muguet 03/05/2010
2 - Muguet 02/05/2010
1 - Muguet 01/05/2010

Comment faut-il faire pour extraire la première ligne d'une manière générale ?
Commenter la réponse de ptitemeuh
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 4 mai 2010 à 10:30
0
Merci
Salut,

Tu as déjà le code pour la manière générale : un split ou un Left avec les bons index (récupéré par un InStr), et c'est générique : tu récupéreras toujours le premier nombre, peu importe le nombre de caractère de celui-ci.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
ptitemeuh 83 Messages postés jeudi 4 février 2010Date d'inscription 8 juillet 2010 Dernière intervention - 4 mai 2010 à 10:40
0
Merci
Je demande ça car dans le code, il est inscrit :

Let sTexte = "10 - Muguet 10/05/2010"
alors que la première ligne change par la suite. Donc, je dois inscrire :

Dim index as Long
Dim sTexte as string

Let sTexte = 1
Let index = InStr(1, sTexte, "-")
let sTexte = Left(sTexte, index - 1)
MsgBox sTexte
Commenter la réponse de ptitemeuh
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 4 mai 2010 à 10:57
0
Merci
Salut,

C'était pour l'exemple, à toi de l'appliquer à la bonne ligne bien entendu.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
ptitemeuh 83 Messages postés jeudi 4 février 2010Date d'inscription 8 juillet 2010 Dernière intervention - 4 mai 2010 à 11:19
0
Merci
Merci beaucoup à vous deux ça marche du tonnerre !!! Bonne journée
Commenter la réponse de ptitemeuh

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.