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

Macros et VBA Excel Discussion :

Recherche Date dans un String


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Par défaut Recherche Date dans un String
    Bonjour !

    J'ai besoin de dégager la premiére date que je trouve dans une chaine de caractére du type :
    Le*04/02/2008 de*15H37 au*14/02/08 à*12H10

    Aprés traitement il me faudrait trouver 04/02/2008 dans une variable.

    J'ai bien une idée mais elle est TRES compliquée.

    Pourriez-vous m'indiquer une méthode ?

    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
    Par défaut
    Remplace tes * par des espaces puis split le résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TaDate = Split(replace ("Le*04/02/2008 de*15H37 au*14/02/08 à*12H10","*"," ")," ")(1)
    Tu peux tester pour moi ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Par défaut
    ça marche parfaitement,

    Le probléme c'est que la chaine de caractére n'est pas tout le temps de la même forme, je vais avoir des phrases trés diverse..

  4. #4
    Expert confirmé

    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
    Par défaut
    bonjour

    tu peux tester

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim strTexte As String
    Dim i As Integer
    Dim varDate As String
     
    strTexte = "Le*04/02/2008 de*15H37 au*14/02/08 à*12H10"
     
    For i = 1 To Len(strTexte)
        If Mid(strTexte, i, 10) Like "##/##/####" Then
            varDate = Mid(strTexte, i, 10)
            Exit For
      End If
    Next
     
    If Not varDate = "" Then MsgBox CDate(varDate)


    bonne journée
    michel

  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
    Par défaut
    A partir du moment où la date se trouve toujours en seconde position, ça reste bon. Si elle change de place mais qu'elle reste la première de la chaîne alors ajoute un test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Tablo as Variant
    Tablo = Split(replace ("Le*04/02/2008 de*15H37 au*14/02/08 à*12H10","*"," ")," ")
    For i = 0 to Ubound(Tablo)
        If isDate(Tablo(i)) then
            LaDate = Tablo(i)
            exit for
        endif
    Next
    Msgbox LaDate
    Bonjour Michel,
    J'ai supposé que le format de date pouvait changer et être aussi bien 04/02/08 que 4/2/08 que 4/2/2008

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 73
    Par défaut
    SilkyRoad c'est partfait, je vais utiliser pleinement ce code

    Ta macro fonctionne aussi bien ouskel'n'or !


    Je vous remerci tous les deux !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recherche CRLF dans 1 string
    Par Hepil dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/05/2009, 10h08
  2. Rechercher date dans colonne et renvoi la ligne correspondante
    Par rickgoz dans le forum Macros et VBA Excel
    Réponses: 36
    Dernier message: 28/10/2008, 18h29
  3. Recherche date dans feuille
    Par zeralium dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/09/2008, 23h05
  4. Réponses: 3
    Dernier message: 19/02/2008, 14h36
  5. Recherche particulière dans une string
    Par Franck66 dans le forum SL & STL
    Réponses: 3
    Dernier message: 27/09/2005, 15h24

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