Bonjour à tous,
Suite à une recherche infructueuse sur le forum soit d'exemples ou d'explications pour résoudre mon problème, j'ouvre un nouveau fil pour que vous puissiez m'aider sur ce sujet.
J’aimerais définir une expression régulière dans une macro afin que si la saisie de l'utilisateur dans une cellule de la colonne A n'est pas correcte, alors une boite de dialogue s'ouvre pour l'en avertir et lui donner le schéma à saisir.
J'ai créé une fonction pour vérifier cela.
Tout est fait et fonctionnel mise à part le pattern où j'ai un problème pour l'id_echant car je n'arrive pas à intégrer la possibilité d'ajouter une lettre majuscule de A à Z après les chiffres.
Que faut-il que je modifie pour que cela fonctionne comme désiré ?
Je vous remercie pour toute aide.
Voici la fonction en question:
Suite à une recherche infructueuse sur le forum soit d'exemples ou d'explications pour résoudre mon problème, j'ouvre un nouveau fil pour que vous puissiez m'aider sur ce sujet.
J’aimerais définir une expression régulière dans une macro afin que si la saisie de l'utilisateur dans une cellule de la colonne A n'est pas correcte, alors une boite de dialogue s'ouvre pour l'en avertir et lui donner le schéma à saisir.
J'ai créé une fonction pour vérifier cela.
Tout est fait et fonctionnel mise à part le pattern où j'ai un problème pour l'id_echant car je n'arrive pas à intégrer la possibilité d'ajouter une lettre majuscule de A à Z après les chiffres.
Que faut-il que je modifie pour que cela fonctionne comme désiré ?
Je vous remercie pour toute aide.
Voici la fonction en question:
VB:
Option Explicit
Dim reg As Object
Dim verif As Object
Function VerifIDEchant(ByVal strTest As String) As Boolean
'initialisation de l'état
VerifIDEchant = True
'Instanciation
Set reg = CreateObject("vbscript.regexp")
'Application sur toutes les occurences
reg.Global = False
'Ignore la casse
reg.IgnoreCase = True
'Pas de recherhce multiligne
reg.MultiLine = False
'definition du pattern ANNEE-ID_ECHANT-TYPE:
'annee = 4 chiffres
'id_echant = 1 à 5 chiffres + possibilité d'une lettre majuscule de A à Z
'type = BD ou BDC ou E ou W
reg.Pattern = "^[0-9]{4}[-][0-9]{1,5}[-][BD|BDC|E|W]$"
'verification de la cellule
Set verif = reg.Execute(strTest)
'Erreur
If verif.Count = 1 Then
VerifIDEchant = False
End If
'libération d'objets
Set verif = Nothing
Set reg = Nothing
End Function