IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Repérer des chaines de caractères formatée dans du texte


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Repérer des chaines de caractères formatée dans du texte
    Bonjour,
    J'aimerais savoir s'il existe une fonction ou si qqun a du code tout fait pour repérer une chaine de caractères formatée (par exemple une date : XX.XX.XX) dans du texte.
    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Regarde Like, dans l'aide. Je ne sais pas si ça règlera ton pb mais sinon je ne vois pas.

    A+

    Edit
    Avec Like, tu peux utiliser des ? pour comparer des formats: (Extrait de l'aide)
    MyCheck = "BAT123khg" Like "B?T*" ' Renvoie True.
    MyCheck = "CAT123khg" Like "B?T*" ' Renvoie False.
    On peut en déduire que
    MaDate = "12/10/05" like "??/??/??" 'Renvoie True

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Encore moi.
    Une fois que tu sais si une date existe, tu peux tester sa position avec instr(Variable,"/") et de nouveau vérifier s'il s'agit bien d'une partie de date avec like.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EstDate = mid(Variable, instr(Variable,"/")-2,8)  like "??/??/??"
    Et si EstDate = true, tu récupère la date. Mais là je pense que tu sauras te débrouiller...

    Et si quelqu'un a une meilleure solution, je suis toujours ravi d'apprendre...

    A+

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Merci
    je vais sûrement pouvoir faire quelque chose avec ça.
    Mon pb c'est que les dates peuvent être en format XX.XX.XX ou XX XX XX

    Dans tes instructions, le ? peut représenter n'importe quel caractère ?

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Dans tes instructions, le ? peut représenter n'importe quel caractère ?
    Oui ! Mais si les séparateurs de date sont des espaces, là, tu as un problème... Imagine la phrase "Tu as un problème", EstDate = true sur "Tu as un"... et c'est pas bon du tout
    Il te faudra un autre test avec gestion d'erreur sur "Cdate(LaDate)" où "LaDate" pourra être "Tu as un" dans l'exemple...

    Tu vois...

    A+

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    L'idéal serait que le ? représente un chiffre.
    Il n'y pas un moyen de lui dire "je veux un format avec 2 chiffres, un espace (ou un point), 2 chiffres, espace, 2 chiffres ?

    J'ai pas bien compris ce que tu veux dire par gestion d'erreur CDate, etc...

    Et si je fais un test sur ma chaine de ?? ?? ?? ou ??.??.?? pour savoir si c une date ? c ça que tu voulais dire ?

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 144
    Points
    20 144
    Par défaut
    bonjour

    en complément de la réponse donnée par Ouskel'n'or , tu peux tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Chaine Like "*## ## ##*" Or Chaine Like "*##.##.##*" Then

    bon apres midi
    michel

  8. #8
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    If Chaine Like "*## ## ##*" Or Chaine Like "*##.##.##*" Then
    ou
    If Chaine Like "*##? ##? ##*" Then

Discussions similaires

  1. Extraction des chaines de caractères depuis un fichier texte
    Par mond14 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 14/11/2013, 21h48
  2. Réponses: 6
    Dernier message: 15/05/2008, 15h20
  3. format affichage des chaines de caractères
    Par gorgonite dans le forum Langage
    Réponses: 3
    Dernier message: 10/05/2007, 22h14
  4. Problème dans des "IF" avec des chaines de caractères
    Par lanysteph dans le forum Langage
    Réponses: 4
    Dernier message: 16/11/2006, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo