Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bernardrustrel

XLDnaute Occasionnel
Bonjour à tous.
J'ai un souci dans la saisie du formulaire joint. J'aimerais que les champs soient saisis dans un ordre bien précis et respecté, à savoir:
1/ Nom, 2/ Femme ou Homme, 3/ Poignet, 4/ Hauteur, 5/ Poitrine, 6/Taille, 7/hanches, 8/Poids;
malheureusement tout va bien jusqu'à la saisie Femme ou Homme ensuite c'est un méli mélo dans le FOCUS ce dernier revient sur le champ "NOM" pour le retrouver sur le champ suivant il me faut jouer de la souris.
J'ai essayé TABINDEX, l'ordre de tabulation en vain. Je pense que mon souci vient des des différents cadres (Identification, Mensurations, Actuelles) que je ne veux pas supprimer, bien évidemment.

Je souhaiterais également avoir la possibilité de contrôler que tous les champs sont saisies et que pas une données ne manque avant de valider la saisie.

Si l'un de vous avait une idée, je l'en remercie par avance.
Cordialement.
Bernard
 

Pièces jointes

Re : Set Focus

Bonjour Bernard,
Essayes de mettre en événement Exit au lieu Update
Private Sub Poignet_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Perso, je ne renomme jamais les Controls surtout si nombreux Textbox.
Une simple boucle suffit pour tout tester ou remplir une BD
Exemple pour tester 10 textbox
for k=1 to 10
if me.controls("TextBox" & k)="" then msgbox"Annuler":exit sub
next
Bonne continuation
Bruno
 
Re : Set Focus

Bonjour bernardrustrel, le Forum,
Bonjour youky(BJ) 🙂

Tout d'abord youky(BJ) a raison, il vaut mieux ne pas renommer les objets, pour cause de boucle et si tu en a un certain nombre cela devient vite la jungle 🙁

Chaque Frame a un TabIndex et chaque objet dans ce même Frame a un TabIndex
Si un Frame est dans un Frame son TabIndex suivra l'un des TabIndex des objets du Frame Conteneur.

Donc tu dois faire ton arborescence des TabIndex pour t'y retrouver, d'où comme youky(BJ) te l'a dit ne pas renommer les objets, je fait actuellement un fichier avec + de 1100 objets, imagine le mer...r 😉

En PJ un fichier test.

@+ 😎
 

Pièces jointes

Re : Set Focus

Bonjour à tous

Tout d'abord youky(BJ) a raison, il vaut mieux ne pas renommer les objets, pour cause de boucle et si tu en a un certain nombre cela devient vite la jungle 🙁
Cela, c'est comme les goûts et les couleurs 😉
On peut boucler sur des contrôles renommés sans problème 😉
Code:
Private Sub CommandButton1_Click()
Dim Ctrl As Control, strg$
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Then
strg = strg & Ctrl.Name & vbCrLf
End If
Next Ctrl
MsgBox strg
End Sub
On peut taquiner la propriété Tag
Mais on peut aussi privilégier l'emploi de modules de classes...
Bref, on a la liberté de choisir sans qu'on puisse vraiment dire qu'elle est la meilleure voie à suivre. 😉
 
Dernière édition:
Re : Set Focus

Bonjour bernardrustrel, le Forum

Bonjour "the prisonner of the grid" 😉

Mouais.......et si tu dois faire une boucle que sur une partie de tes textBox..........🙄

J'ai le logiciel RAPSODIE de SCHNEIDER ELECTRIC où l'on peut accéder aux macros, c'est un vrai foutoir et pas un plaisir pour les yeux quand tu lis les codes 😡 c'est vraimment anti carthésien 😉

@+ 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…