Masque de saisie

Elolu

XLDnaute Nouveau
Bonjour à toutes et tous,

J'ai sur une feuille un USF avec des texbox's qui l'alimentent rien de plus normal ...
Problème 1 : J'ai réalisé un masque de saisie pour toujours avoir un enregistrement de type RBL-11-1468 ( 3 majuscules,un tiret, deux chiffres, un tiret, quatre chiffre, je cherche la macro de vérification qui en exit du textbox va me vérifier la conformité de la saisie car avec l'habitude les gens vont dans un premier temps continuer a taper le tiret et je risque de me retrouver avec un RBL-- ): dans ce cas afficher un msgbox format non valide. les tirets sont affichés automatiquement .
Problème numéro deux : je n'arrive pas a réaliser un masque de saisie pour avoir un type L006e-001 ( soit une majuscule, toujours la première suivi de trois chiffres,une minuscule, un tiret et 3 chiffres) avec bien sûr si possible l'insertion du tiret en automatique , mais aussi avec la vérification de la saisie en exit du textbox et msgbox format non valide

Si quelqu'un pouvait m'aiguiller ce serai cool :)

Merci
 

camarchepas

XLDnaute Barbatruc
Re : Masque de saisie

Bonjour Elulo, Lone-wolf


Voici dans un premier temps le code de vérification,
il faut bien sur adapter le numéro de la textbox et le message généré.

Code:
Entrée = textbox1.Text

If Mid(Entrée, 4, 1) <> "-" Or Mid(Entrée, 7, 1) <> "-" Or Len(Entrée) <> 11 Then MsgBox "Entrée " & Entrée & " est non conforme"
 

Lone-wolf

XLDnaute Barbatruc
Re : Masque de saisie

Bonjour camarchepas

On peux même écrire des heures sans ":" - ou une date sans ". - /", grâce à ton code.


Code:
'Pour les heures

Private Sub TextBox1_Change()
Dim val As Long

'On limite le nombre de caractères dans la textbox avec "MaxLength"
val = Len(TextBox1)
If val = 2 Then: TextBox1 = TextBox1 & ":": Exit Sub
If val = 6 Then: TextBox1 = TextBox1 & "": Exit Sub
TextBox1.MaxLength = 5
End Sub


'Pour les dates

Private Sub TextBox1_Change()
Dim val As Long

'On limite le nombre de caractère dans la textbox avec "MaxLength"
val = Len(TextBox1)
If val = 2 Or val = 5 Then: TextBox1 = TextBox1 & ".": Exit Sub
TextBox1.MaxLength = 10
End Sub


A+ :cool:
 
Dernière édition:

Elolu

XLDnaute Nouveau
Re : Masque de saisie

Bonjour camarchepas, Lone-wolf :)
Merci pour le verrouillage du textbox2 c'est plus que ce dont je pouvais imaginer :)
Pour le textbox3 j'arrive à mettre la première en majuscule, le tiret en automatique mais je n'arrive pas à forcer le 5ème caractère en minuscule .
Une idée ?
Merci !
 

bof

XLDnaute Occasionnel
Re : Masque de saisie

Bonjour,
Voir en pièce jointe.
Attention ! Regex :
Dans le menu VBA : Outils > Références...
Nécessité de cocher la référence "Microsoft VBScript Regular Expression 5.5"

A+
 

Pièces jointes

  • masque-de-saisie-essai_VG.xlsm
    28.1 KB · Affichages: 57
Dernière édition:

Discussions similaires

Réponses
16
Affichages
516

Statistiques des forums

Discussions
314 013
Messages
2 104 547
Membres
109 077
dernier inscrit
FCachats