Fonction RegExp sous VBA.
Résolu
Villette54
Messages postés
300
Date d'inscription
Statut
Membre
Dernière intervention
-
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai lu plusieurs tuto, mais je ne comprends absolument comment marche la fonction RegExp sur VBA.
Je voudrais m'en servir pour conditionner la saisie dans une textbox sous VBA.
Ci-joint un exemple d'un morceau de code que l'on m'a fourni mais qui ne fonctionne pas.
En espérant pouvoir être aidé.
J'ai lu plusieurs tuto, mais je ne comprends absolument comment marche la fonction RegExp sur VBA.
Je voudrais m'en servir pour conditionner la saisie dans une textbox sous VBA.
Ci-joint un exemple d'un morceau de code que l'on m'a fourni mais qui ne fonctionne pas.
Set RegExDate = New RegExp With RegExDate .IgnoreCase = True .Global = False 'True matches all occurances, False matches the first occurance .Pattern = "[0-9]{2}/[0-9]{2}/[0-9]{4}" End With
En espérant pouvoir être aidé.
A voir également:
- Fonction RegExp sous VBA.
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Excel compter cellule couleur sans vba - Guide
- Fonction remplacer sur word - Guide
2 réponses
Cher Villette54,
Ton problème est bien de tester si la saisie est une date ? Jette un oeil à la fonction IsDate...
A+
Ton problème est bien de tester si la saisie est une date ? Jette un oeil à la fonction IsDate...
A+
Bonjour,
Une autre solution, bâtie sur ce concept de silkyroad:
Une autre solution, bâtie sur ce concept de silkyroad:
Private Sub TextBox1_Change() Dim Valeur As Byte TextBox1.MaxLength = 10 'nb caractères maxi autorisé dans le textbox Valeur = Len(TextBox1) If Valeur = 2 Or Valeur = 5 Then TextBox1 = TextBox1 & "/" End Sub 'Ensuite pour vérifier que c'est bien une date qui a été saisie Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Not IsDate(TextBox1) Then MsgBox "Format incorrect" TextBox1 = "" Cancel = True 'laisse le focus au textbox End If End Sub
Je vais plutôt essayer de conditionner comme le propose pikaju.
En tout cas merci pour l'info.