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 d'une forme de chaine avec caractères aléatoire au milieu de la chaine


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Recherche d'une forme de chaine avec caractères aléatoire au milieu de la chaine
    Bonjour à toutes et à tous,

    Je présente mon problème :

    Je développe une macro sous Excel. Je souhaiterai récupérer dans une cellule une chaine fondue dans un texte au sein d'une même cellule. Elle peut prendre diverses forme comme suit :

    xx/xx/xxxx
    01/11/2008

    Comme vous l'avez compris, il s'agit d'une date.

    Je veux donc arriver à coder dans la philosophie suivante :

    "repérer la position du premier caractère lorsque je trouve une suite de caractères de la forme:
    "2 caractères" + "/" + "2 caractères" + "/" + "4 caractères"
    "

    Pour m'expliquer au mieu, je ferais une comparaison avec windows. En effet, sous windows, lorsqu'on ouvre une fenêtre de recherche de fichier, nous pouvons rechercher, par exemple, le fichier "macro.xls" en tapant :
    "m?cro.xls".

    En faite le point d'interrogation signifie dans ce cas :"un et un seul caractère qui peut être n'importe lequel".

    C'est donc l'équivalent en VB que je recherche.

    N'ayant rien trouvé de probant dans l'aide, je fais appel à vos connaissances


    Merci d'avance !


    Un débutant qui doit très vite rendre un projet à son chef !

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Points : 824
    Points
    824
    Par défaut
    Bonsoir et bienvenu sur dvp,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Test()
        Dim i As Long, Texte As String
     
        Texte = "Nous sommes le 21/11/2008"
     
        i = InStr(1, Texte, "/")
        If Mid(Texte, i - 2, 10) Like "##/##/####" Then
            MsgBox i - 2
        End If
    End Sub
    Cordialement,

    Tirex28/

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Une solution qui fonctionne lorsque mid et like ne suffisent pas: l'utilisation des expressions régulières.

Discussions similaires

  1. Grep d'une chaine avec caractère spécial "É" "È" , ne renvoie rien.
    Par erox44 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 05/05/2014, 09h55
  2. Recherche chaine avec caractére *
    Par audran12 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2010, 16h41
  3. comparaison de chaine avec caractères spéciaux
    Par loulag07 dans le forum Langage
    Réponses: 1
    Dernier message: 22/11/2007, 10h04
  4. recherche dans une bas et affichage avec sal
    Par sabrina22 dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/01/2006, 13h33
  5. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12

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