Bonjour,
Je cherche depuis hier après-midi la solution mais en désespoir de cause, je viens chercher de l'aide vers vous...
Voilà mon problème... pour expliquer rapidement, je gère dans un formulaire des "fausses" successions d'écrans simplement en jouant sur les propriétés des champs (visible, activé et verrouillé).
J'ai donc des boutons "suivant" et "précédent" qui manipulent ces propriétés de champ, donnant l'impression que les écrans défilent.
Le code de ces boutons effectuent les opérations suivantes :
1. Teste la caption d'un champ (pour vérifier quel "écran" est en cours)
2. Disparition de tous les contrôles du formulaire
3. En fonction de la caption, les contrôles concernés vont apparaîtrent comme nouvel "écran"
Par défaut, tous mes contrôles sont invisibles, désactivés et verrouillés. J'ai donc placé un champ indépendant que j'ai appelé change_focus dont je ne me sers que pour récupérer le focus en transition de la partie 2 à 3 du code expliqué ci-dessus.
Le problème survient lorsque, en lançant le code des boutons "suivant" ou "précédent", mon focus est dans un champ avec masque de saisie et que ce masque n'est pas respecté... le code s'exécute quand même mais va planter sur la réception focus du champ change_focus... ce qui affiche le code vba... pas super donc !
Je ne vois pas comment tester la valeur de mon champ qui contient le masque de saisie (un numéro siret) avant d'exécuter le code ?
Je ne vois pas comment non plus règler cela à partir des propriétés du champ ?
Par ailleurs, je ne souhaite pas masquer les boutons "suivant" et "précédent" pour des raisons d'ergonomie.
Quelqu'un aurait-il une ou plusieurs solutions ?
J'espère avoir été clair dans mes explications...
Merci
Cordialement
David Curty
Partager