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

Requêtes et SQL. Discussion :

Extraire plusieurs valeurs dans une chaine de caractères


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Extraire plusieurs valeurs dans une chaine de caractères
    Bonjour à tous.

    J'ai cherché dans la FAQ et sur le forum mais je n'ai rien trouvé qui correspond à ce que je recherche.

    Dans mon exemple j'ai une table de la sorte :
    TABLE_1
    - Champ 1 : ID
    - Champ 2 : Description (format memo ou texte)

    Le champ Description peut donc contenir pas mal de texte.

    J'aimerai rechercher dans ce champ toutes les valeurs qui commencent par 1234 avec les 10 caractères suivants (ce qui doit me donner au final une chaine de 14 caractères).

    Après mes recherches sur le forum, j'arrive partiellement à le faire, c'est à dire que je trouve la première valeur qui commence par 1234 puis les 10 caractères suivant, par contre s'il y a d'autres chaine qui commencent par 1234 dans le même texte... je suis incapable de les sortir.

    Actuellement voici ce que je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VraiFaux([Description] Comme "*" & "1234" & "*";Gauche(ExtracChaîne([Description];DansChaîne([Description];"" & "1234" & ""));14);"KO")
    Cela marche très bien mais cela ce limite donc à la première occurrence trouvée dans le texte... Y a t'il un moyen de toutes les ressortir ?

    Merci d'avance pour votre aide, et si j'ai raté une FAQ qui peut m'aider, n'hésitez pas à me l'indiquer.

  2. #2
    Membre chevronné
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Points : 2 178
    Points
    2 178
    Par défaut
    Bonjour,
    Créer une fonction qui retourne toutes les instances 1234??????
    il suffit de récuperer le résultat dans une liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Sub test()
     Dim s As String, liste() As String
     s = "as 1234azertyuiop54 aze1234mlkjsdlfkjmlqksdjf1234qsdflkqsùfg"
     liste = Split(Extraction(s), ";")
    End Sub
     
    Function Extraction(s As String) As String
     Dim n As Long, n2 As Long
     
     n2 = 1
     n = InStr(n2, s, "1234")
     Do
      Extraction = Extraction & Mid$(s, n, 10) & ";"
      n2 = n + 1
      n = InStr(n2, s, "1234")
     Loop Until n = 0
     Extraction = Left$(Extraction, Len(Extraction) - 1)
    End Function
    A adapter avec une boucle pour lire chaque enregistrement de la table

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    merci de ton aide je testerai dès que possible.

Discussions similaires

  1. Extraire des nombres dans une chaine de caractère
    Par fxfxfx dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 27/05/2013, 10h41
  2. [CR XI] extraire un nombre dans une chaine de caractère
    Par kikidrome dans le forum Formules
    Réponses: 4
    Dernier message: 01/10/2009, 13h39
  3. Réponses: 5
    Dernier message: 22/04/2009, 14h38
  4. Extraire des champs dans une chaine de caractère
    Par clemuche dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/02/2009, 23h24
  5. Recuperer une valeur dans une chaine de caractére
    Par manouk dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/07/2008, 14h57

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