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 :

manque de savoir-faire sur une regexp


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut manque de savoir-faire sur une regexp
    Bonjour,

    Peu habitué aux relations régulières, j'essaie de vérifier la bonne syntaxe de mesures de poids par ex: 100G ou 1,5L ou 5KG... en me basant sur le tuto de Cafeine (merci)

    j'ai donc écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reg.Pattern = "([0-9]|\,|G|KG|L|CL|ML)"
    cela fonctionne mais si il y a une erreur de saisie, par ex 5G9 , elle n'est pas détectée et renvoie 5G9.

    j'ai essayé avec les symboles ^ en début et $ à la fin mais...

    D'avance merci

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Euh... et quel est le rapport avec Excel ou VBA Excel ?

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Bonjour Menhir,

    en VBA excel (forum macros et VBA excel)

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    c'est normal ton pattern est faux
    "([0-9]|\,|G|KG|L|CL|ML)"

    la tu demande 1 chiffre je dit bien 1 et un caractere tu rajoute derriere toutes les possibilité de caractere

    sauf que le premier "OU"representé par"|" suit le nombre autrement dit il pourrais presque te sortir toutes les combinaison il
    toute les combi contenant un chiffre et au moins 1 lettre ou un autre caractre (,.: etc....)

    1.5L= 1chiffre 1caractere 1chiffre,1caractere
    5K=1chiffre 1caractere

    je srait toi puisqu' apparement il te faudrait 2 patern je ferait autrement avec un simple split
    a mediter
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re

    un truc plus simple du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
        maVar = "j'ai acheté 5Kg de bannanes pour mon singe et 2.5L litres de lait pour mon chat et 100K de salade ma tortue adore ca"
        tabl = Split(maVar, " ")
        For i = 1 To UBound(tabl)
            If Val(tabl(i)) > 0 Then Debug.Print tabl(i)
        Next
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Merci de ta réponse:

    Ok pour le split (c'était déjà fait)mais ce que je voudrais c'est vérifier la bonne syntaxe par ex saisie:1,5L correct 1L,5 incorrect-->#valeur

    concernant ta remarque: "la tu demande 1 chiffre je dit bien 1 " ma bidouille fonctionne avec plusieurs chiffres par ex 105K fonctionne

  7. #7
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    oui ta bidouille fonctionne peu etre mais pas avec un decimal c'est ce que j'essayais de te dire
    il te faut 2 pattern
    d'ailleur je me demande bien comment elle fonctionne car chez moi les matchs sont les memes nombre que le len complet

    pour verifier c'est simple tu a la fonction right
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    regarde
    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
    Sub test()
        maVar = "j'ai acheté 5Kg de bannanes pour mon singe et 2L,5 litres de lait pour mon chat et 100K de salade ma tortue adore ca puis 3,4L litre de bierre pour moi"
        tabl = Split(maVar, " ")
        For i = 1 To UBound(tabl)
            If Val(tabl(i)) > 0 Then
                n = tabl(i)
                If n Like "*,*" Then
                If IsNumeric(Split(n, ",")(0)) Then Debug.Print n Else Debug.Print n & "  " & "faux"
                Else
                If Val(n) > 0 Then Debug.Print n
     
                End If
         End If
       Next
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Réponses: 13
    Dernier message: 29/02/2008, 11h09
  2. Une macro à faire sur une ligne précise
    Par JPDU92 dans le forum VBA Word
    Réponses: 5
    Dernier message: 31/01/2008, 12h13
  3. [RegEx] aide sur une regexp
    Par calitom dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2007, 21h14
  4. [RegEx] aide sur une regexp
    Par calitom dans le forum Langage
    Réponses: 1
    Dernier message: 18/10/2007, 15h13
  5. Manque paquets pour faire fonctionner une application
    Par mullger dans le forum Applications et environnements graphiques
    Réponses: 21
    Dernier message: 30/04/2007, 13h36

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