[excel] vba: LIKE + expression réguliere ?
Résolu
mortelrdv
-
mortelrdv -
mortelrdv -
Bonjour,
mon probleme est le suivant, je voudrais faire des test sur des chaines de caracteres genre :
je passe par la possibilité que propose LIKE
if chaine like "#-AAA-#-#" then ...
ou alors mieux
if chaine like "[1-8]-AAA-[1-2]-[1-8]" then ...
le probleme c'est que je sèche à l'emplacement AAA, cette emplacement peut contenir un nombre entre 1 et 16 (et non 01 à 16)
connaissez vous une expression réguliere qui résolve ce probleme ?
sinon je vais passer par :
if chaine like "[1-8]-[1-9]-[1-2]-[1-8]" OR chaine like "[1-8]-1[0-6]-[1-2]-[1-8]" then ...
mais comme j'ai plusieurs conditions comme ça, ça me fait un IF à ralonge (vu que je dois doubler mes condition à chaque fois)
Merci
mon probleme est le suivant, je voudrais faire des test sur des chaines de caracteres genre :
1-5-7-8 ->ok 5-3-2-7 ->ok 4-12-6-8 ->ok 2-1-13-7 ->nok ....
je passe par la possibilité que propose LIKE
if chaine like "#-AAA-#-#" then ...
ou alors mieux
if chaine like "[1-8]-AAA-[1-2]-[1-8]" then ...
le probleme c'est que je sèche à l'emplacement AAA, cette emplacement peut contenir un nombre entre 1 et 16 (et non 01 à 16)
connaissez vous une expression réguliere qui résolve ce probleme ?
sinon je vais passer par :
if chaine like "[1-8]-[1-9]-[1-2]-[1-8]" OR chaine like "[1-8]-1[0-6]-[1-2]-[1-8]" then ...
mais comme j'ai plusieurs conditions comme ça, ça me fait un IF à ralonge (vu que je dois doubler mes condition à chaque fois)
Merci
A voir également:
- Vba like *
- Voir like instagram - Guide
- Coco like - Accueil - Réseaux sociaux
- Excel compter cellule couleur sans vba - Guide
- Wawacity like - Accueil - Outils
- Vba attendre 1 seconde ✓ - Forum VB / VBA
3 réponses
Re,
Ce n'est pas possible avec une seule comparaison vu que la longeur de la chaine se modifie et que la matrice reste la même.
Mais si c'est bien comme tu explique dans ton dernier poste
sachant que : (chiffre entre 09)-(chiffre entre 0-19)-(chiffre entre 0-9)-(chiffre entre 0-9)
Une autre façon..
A+
Ce n'est pas possible avec une seule comparaison vu que la longeur de la chaine se modifie et que la matrice reste la même.
Mais si c'est bien comme tu explique dans ton dernier poste
sachant que : (chiffre entre 09)-(chiffre entre 0-19)-(chiffre entre 0-9)-(chiffre entre 0-9)
Une autre façon..
a = Chaine Like "#-#-#-#" Or Chaine Like "#-##-#-#"
A+
des chiffres séparrer par 3 x '-'
sachant que : (chiffre entre 09)-(chiffre entre 0-19)-(chiffre entre 0-9)-(chiffre entre 0-9)
j'espere que c'est un peu mieux