Sujet sur les controles sur Userform VBA 2010

Résolu/Fermé
aufilduweb Messages postés 74 Date d'inscription mardi 21 février 2017 Statut Membre Dernière intervention 14 novembre 2024 - 21 févr. 2017 à 21:28
aufilduweb Messages postés 74 Date d'inscription mardi 21 février 2017 Statut Membre Dernière intervention 14 novembre 2024 - 26 févr. 2017 à 20:55
Bonjour à tous.
Je suis petit bidouilleur pour petit programme à la maison.
Comment vérifier si tous les contrôles (Commandbox, listbox,textbox, etc...) sur un Userform ont bien été exploités, donc obligatoirement.
Et peut-on donner un ordre hiérarchique de saisie lorsqu'on a 2, 3, 4 contrôles, par ex.. Hors mis
l'utilisation d' (Enabled) dans les propriétés ou écrite en VBA.
Bien merci d'avance.
A voir également:

3 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 709
22 févr. 2017 à 08:57
Bonjour,

Ta question n'est pas très claire.
ont bien été exploités qu'entends-tu par là ?
Si c'est pour contrôler que l'utilisateur est passé par ce contrôle, je ne vois pas la finalité.

ordre hiérarchique de saisie je pense que tu veux parler de l'ordre de tabulation qui n'a rien de hiérarchique et peux être ignoré par l'utilisateur.
0
aufilduweb Messages postés 74 Date d'inscription mardi 21 février 2017 Statut Membre Dernière intervention 14 novembre 2024 1
23 févr. 2017 à 09:04
gbinforme, bien le bonjour.
Pour l'idée "ont bien été exploités", concernant les contrôles sur un Userform, je voudrais être sur que l'utilisateur qui saisira ses données, aura bien cliquer, bien passer sur tous les contrôles (commandBox, ListBox, TextBox, par ex.), obligatoirement. Etre sur qu'il n'en oubliera pas un.
Et l'ordre hiérarchique, j'essayais de faire un ordre de passage sur ces contrôles, soit par ex., passer en premier par TextBox1, ensuite obligatoirement passer sur une ListBox1 et , disons, finir sur un CommandButton1, ceci sur un même Userform. Bien sur le placement des contrôles peuvent influencer les utilisateurs mais je crois savoir que beaucoup de gens cliquent n'importe comment.
J'espère que ce n'est pas trop long.
Merci d'avance.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 709
23 févr. 2017 à 10:30
Bonjour,

je voudrais être sur que l'utilisateur qui saisira ses données, aura bien cliquer, bien passer sur tous les contrôles
Lorsque l'on commence à développer une application, l'on est le chef et l'on veut que chacun se conforme à ses ordres.

mais je crois savoir que beaucoup de gens cliquent n'importe comment
Eh oui, tu as bien vu, l'informatique est un outil et chacun l'utilise à sa façon qui n'est pas nécessairement la plus mauvaise.

En fait chacun de tes contrôles est un objet et c'est à toi de le gérer comme un objet. Qu'importe l'ordre de saisie, c'est au moment de la validation que tu dois t'assurer de l'intégrité de la saisie. Si le combo2 dépend du choix dans combo1, l'utilisateur n'aura aucun choix, c'est à lui de faire le choix adéquat.

Ce n'est pas ta conception du développement apparemment mais c'est pourtant dans cette direction que tu devrais aller si tu veux que ton projet soit accepté.
0
aufilduweb Messages postés 74 Date d'inscription mardi 21 février 2017 Statut Membre Dernière intervention 14 novembre 2024 1
24 févr. 2017 à 08:46
Bonjour.
Le délai de réponse est long, mais il y a aussi le jardin ! M'enfin !!
J'ai appris le VBA tout seul, donc comme un brouillon.
Si dans ce cas ,c'est vrai, l'ordre de saisie importerait peu, et c'est une logique, mais qu'elle serait la fonction (la ligne VBA à écrire)pour s'assurer de l'intégrité de saisie d'un contrôle, ou des contrôles dans un Userform ?
Je suis à deux (clicks) pour terminer mon truc, et je butte sur cette petite "sécurité".
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 709
24 févr. 2017 à 18:12
Bonjour.

Dans la procédure de ton CommandButton1, tu commences par vérifier que les données obligatoires ont été saisies.
Auparavant à l'exit d'un contrôle, tu vérifies que la date est bien une date , etc
sinon tu bloques la sortie du contrôle.
Tu ne mets à jour ta ligne de saisie que si tout est correct avant.
C'est un peu rébarbatif peut-être mais c'est ce qui fait que l'on n'a que des données correctes à traiter et les résultats sont conformes.

Voilà le principe qui me parait intéressant à appliquer.
0
aufilduweb Messages postés 74 Date d'inscription mardi 21 février 2017 Statut Membre Dernière intervention 14 novembre 2024 1 > gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020
26 févr. 2017 à 20:55
Salut gbinforme.
Ca y est, j'ai trouvé ce qu'il me fallait. Je ne fais pas de grandes procédures en VBA , les plus simples sont les mieux à mon niveau. Je voulais gagner un peu de temps en demandant de l'aide, car, seul, novice, on s'enfonce vite dans l'incompréhension.
Tes réponses m'ont forcées à tester toutes les propriétés d'un contrôle sur un UserForm.
Et c'est OK. Merci.
0