Soit un userform avec plusieurs "Frame"
Dans chaque Frame la structure est identique, avec notamment la
présence de 3 "TestBox" dont je veux tester la valeur avec l'évènement
Exit.
Si la valeur est inférieur à une donnée le focus va à l'objet suivant
dans l'ordre de tabulation sinon la saisie est sélectionnée et on
restedans le TxtBx.
Sur les deux premiers TxtBx tout se passe comme prévu, sur le troisième
et dernier (dans l'ordre de tabulation de la Frame) le programme ne
passe pas par l'évènement (vérifié avec un point d'arrêt).
Je joins le code dédié aux TxtBx d'un Frame
Dans le code ci-dessous, Me.Controls("FrameSecteur" & i1).Tag (dans
COMMUN_TxtBxNoteRef) fait référence à la valeur maximale à ne pas
dépasser (mis à jour à l'ouverture du UF)
Accessoiremnt je contourne le problème avec l'évènement Change mais
c'est frustrant.
Sub COMMUN_TxtBxNoteRef()
If Me.Controls("TextBoxNoteRef" & i1 & i2).Value >
Me.Controls("FrameSecteur" & i1).Tag Then
Call MsgBox("La note saisie est supérieure à la note maximale
autorisée pour ce secteur de notation.", vbExclamation, "Errare
humanum, perseverare diabolicum")
With Me.Controls("TextBoxNoteRef" & i1 & i2)
.SelStart = 0
.SelLength = Len(.Text)
.SetFocus
End With
James007 = True
Else
James007 = False
End If
End Sub
Private Sub TextBoxNoteRef11_Exit(ByVal Cancel As
MSForms.ReturnBoolean)
i1 = 1
i2 = 1
COMMUN_TxtBxNoteRef
Cancel = James007
End Sub
Private Sub TextBoxNoteRef12_Exit(ByVal Cancel As
MSForms.ReturnBoolean)
i1 = 1
i2 = 2
COMMUN_TxtBxNoteRef
Cancel = James007
End Sub
Private Sub TextBoxNoteRef13_Exit(ByVal Cancel As
MSForms.ReturnBoolean)
i1 = 1
i2 = 3
COMMUN_TxtBxNoteRef
Cancel = James007
End Sub
'""""""""""""""""""""""
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jc
Ce n'est pas que je me réponde mais est-ce parcequ'étant le dernier contrôle de la Frame, l'évènement exit est "shunté" si tel est le cas ? -- ______________________________________________ Jc
Ce n'est pas que je me réponde mais est-ce parcequ'étant le dernier
contrôle de la Frame, l'évènement exit est "shunté" si tel est le cas ?
Ce n'est pas que je me réponde mais est-ce parcequ'étant le dernier contrôle de la Frame, l'évènement exit est "shunté" si tel est le cas ? -- ______________________________________________ Jc
Merci de t'occuper de mon cas -- ______________________________________________ Jc
Jc
Parti trop vite Ton exemple, en tout cas chez moi, reproduiy mon problème. Dans le dernier txtbx du frame1 l'évènement exit est shunté; un appui sur la touche de tabulation permet de passer au txtbx de la frame2 C'est comme si parce que le contrôle en cours est le dernier exit ne compte pas. Val est interressant, je ne connaissait pas. -- ______________________________________________ Jc
Parti trop vite
Ton exemple, en tout cas chez moi, reproduiy mon problème.
Dans le dernier txtbx du frame1 l'évènement exit est shunté; un appui
sur la touche de tabulation permet de passer au txtbx de la frame2
C'est comme si parce que le contrôle en cours est le dernier exit ne
compte pas.
Parti trop vite Ton exemple, en tout cas chez moi, reproduiy mon problème. Dans le dernier txtbx du frame1 l'évènement exit est shunté; un appui sur la touche de tabulation permet de passer au txtbx de la frame2 C'est comme si parce que le contrôle en cours est le dernier exit ne compte pas. Val est interressant, je ne connaissait pas. -- ______________________________________________ Jc
Jc
En effectuant des essais, la sortie du dernier Controls TextBox d'un Frame ne passe pas pas l'évènement Exit dudit contrôle. Je vais contourner le problème en créant un faux fFrame avec deux labels Les frames n'ont pas de fonctions particulières (type OptionButton) si ce n'est visuel pour grouper les données par thèmes. -- ______________________________________________ Jc
En effectuant des essais, la sortie du dernier Controls TextBox d'un
Frame ne passe pas pas l'évènement Exit dudit contrôle.
Je vais contourner le problème en créant un faux fFrame avec deux
labels
Les frames n'ont pas de fonctions particulières (type OptionButton) si
ce n'est visuel pour grouper les données par thèmes.
En effectuant des essais, la sortie du dernier Controls TextBox d'un Frame ne passe pas pas l'évènement Exit dudit contrôle. Je vais contourner le problème en créant un faux fFrame avec deux labels Les frames n'ont pas de fonctions particulières (type OptionButton) si ce n'est visuel pour grouper les données par thèmes. -- ______________________________________________ Jc
MichD
Le 22/03/20 à 08:57, Jc a écrit :
Parti trop vite Ton exemple, en tout cas chez moi, reproduiy mon problème. Dans le dernier txtbx du frame1 l'évènement exit est shunté; un appui sur la touche de tabulation permet de passer au txtbx de la frame2 C'est comme si parce que le contrôle en cours est le dernier exit ne compte pas. Val est interressant, je ne connaissait pas.
Décris-moi ce que tu fais lorsque tu as saisi une valeur du Textbox3 de la frame1. Moi, si je fais cela et que j'appuie sur la touche "Tab", je passe au textbox4 c'est-à-dire le premier textbox de la frame2. Je fais référence au fichier que j'ai publié. | Dans le dernier txtbx du frame1 l'évènement exit est shunté **** Je ne comprends pas la ligne suivante... MichD
Le 22/03/20 à 08:57, Jc a écrit :
Parti trop vite
Ton exemple, en tout cas chez moi, reproduiy mon problème.
Dans le dernier txtbx du frame1 l'évènement exit est shunté; un appui
sur la touche de tabulation permet de passer au txtbx de la frame2
C'est comme si parce que le contrôle en cours est le dernier exit ne
compte pas.
Val est interressant, je ne connaissait pas.
Décris-moi ce que tu fais lorsque tu as saisi une valeur du Textbox3 de
la frame1.
Moi, si je fais cela et que j'appuie sur la touche "Tab", je passe au
textbox4 c'est-à-dire le premier textbox de la frame2. Je fais référence
au fichier que j'ai publié.
| Dans le dernier txtbx du frame1 l'évènement exit est shunté
Parti trop vite Ton exemple, en tout cas chez moi, reproduiy mon problème. Dans le dernier txtbx du frame1 l'évènement exit est shunté; un appui sur la touche de tabulation permet de passer au txtbx de la frame2 C'est comme si parce que le contrôle en cours est le dernier exit ne compte pas. Val est interressant, je ne connaissait pas.
Décris-moi ce que tu fais lorsque tu as saisi une valeur du Textbox3 de la frame1. Moi, si je fais cela et que j'appuie sur la touche "Tab", je passe au textbox4 c'est-à-dire le premier textbox de la frame2. Je fais référence au fichier que j'ai publié. | Dans le dernier txtbx du frame1 l'évènement exit est shunté **** Je ne comprends pas la ligne suivante... MichD
Jc
Re bonjour et merci En utilisant le fichier que tu m'as envoyé : 1-Dans VBA, je mets un point d'arrêt au début des évènements Exit des TextBox 2- Quand je lance le UF de démo, je rentre une donnée dans TxtBx1 puis "Tab",comme il y a un point d'arrêt => VBA en pas à pas 3-TxtBx2 à le focus, même enchaînement... pour rentrer dans TxtBx3 4- Donnée dans TxtBx3, "Tab" ça ne passe pas par VBA, on rentre tout de suite dans TxtBX4. Or j'aimerais que comme pour les deux txtBx précédant une vérification du contenu soit effectué à l'évènement Exit, pour le cas échéant ne pas en sortir, rester sur le TxtBx3 en y sélectionnant l'ensemble de la saisie. PS : Par contre une fois dans TxtBx4 avec la souris je rentre dans le 3 le point d'arrêt fonctionne J'espère avoir été clair pour cette histoire de "shunt". Ca me turlupinne de ne pas comprendre pourquoi dans le dernier textbox de la frame1 ça passe directement dans le premier txtbx de la frame2 sans passer par Exit comme pour les précédants. Ceci dit j'ai contourné le problème dans mon projet. -- ______________________________________________ Jc
Re bonjour et merci
En utilisant le fichier que tu m'as envoyé :
1-Dans VBA, je mets un point d'arrêt au début des évènements Exit des
TextBox
2- Quand je lance le UF de démo, je rentre une donnée dans TxtBx1 puis
"Tab",comme il y a un point d'arrêt => VBA en pas à pas
3-TxtBx2 à le focus, même enchaînement... pour rentrer dans TxtBx3
4- Donnée dans TxtBx3, "Tab" ça ne passe pas par VBA, on rentre tout de
suite dans TxtBX4.
Or j'aimerais que comme pour les deux txtBx précédant une vérification
du contenu soit effectué à l'évènement Exit, pour le cas échéant ne pas
en sortir, rester sur le TxtBx3 en y sélectionnant l'ensemble de la
saisie.
PS :
Par contre une fois dans TxtBx4 avec la souris je rentre dans le 3 le
point d'arrêt fonctionne
J'espère avoir été clair pour cette histoire de "shunt".
Ca me turlupinne de ne pas comprendre pourquoi dans le dernier textbox
de la frame1 ça passe directement dans le premier txtbx de la frame2
sans passer par Exit comme pour les précédants.
Ceci dit j'ai contourné le problème dans mon projet.
Re bonjour et merci En utilisant le fichier que tu m'as envoyé : 1-Dans VBA, je mets un point d'arrêt au début des évènements Exit des TextBox 2- Quand je lance le UF de démo, je rentre une donnée dans TxtBx1 puis "Tab",comme il y a un point d'arrêt => VBA en pas à pas 3-TxtBx2 à le focus, même enchaînement... pour rentrer dans TxtBx3 4- Donnée dans TxtBx3, "Tab" ça ne passe pas par VBA, on rentre tout de suite dans TxtBX4. Or j'aimerais que comme pour les deux txtBx précédant une vérification du contenu soit effectué à l'évènement Exit, pour le cas échéant ne pas en sortir, rester sur le TxtBx3 en y sélectionnant l'ensemble de la saisie. PS : Par contre une fois dans TxtBx4 avec la souris je rentre dans le 3 le point d'arrêt fonctionne J'espère avoir été clair pour cette histoire de "shunt". Ca me turlupinne de ne pas comprendre pourquoi dans le dernier textbox de la frame1 ça passe directement dans le premier txtbx de la frame2 sans passer par Exit comme pour les précédants. Ceci dit j'ai contourné le problème dans mon projet. -- ______________________________________________ Jc
MichD
Bonjour, Voir le fichier joint : https://www.cjoint.com/c/JCwujJpwVKj La sortie des Textbox3 de chacune des "Frame" requiert un traitement spécial parce que l'événement (procédure) frame1_Exit ou "Frame2.Exit" de produit avant l'événement (procédure) des textbox3. Il faut alors jouer un peu d'astuce pour obtenir ce que tu désires. MichD
Bonjour,
Voir le fichier joint : https://www.cjoint.com/c/JCwujJpwVKj
La sortie des Textbox3 de chacune des "Frame" requiert un traitement
spécial parce que l'événement (procédure) frame1_Exit ou "Frame2.Exit"
de produit avant l'événement (procédure) des textbox3. Il faut alors
jouer un peu d'astuce pour obtenir ce que tu désires.
Bonjour, Voir le fichier joint : https://www.cjoint.com/c/JCwujJpwVKj La sortie des Textbox3 de chacune des "Frame" requiert un traitement spécial parce que l'événement (procédure) frame1_Exit ou "Frame2.Exit" de produit avant l'événement (procédure) des textbox3. Il faut alors jouer un peu d'astuce pour obtenir ce que tu désires. MichD
MichD
Retiens cette version du fichier, quelques légères corrections ont été apportées au fichier du message précédent. https://www.cjoint.com/c/JCwvT5rD7Fj MichD
Retiens cette version du fichier, quelques légères corrections ont été
apportées au fichier du message précédent.
Retiens cette version du fichier, quelques légères corrections ont été apportées au fichier du message précédent. https://www.cjoint.com/c/JCwvT5rD7Fj MichD
Jc
Un grand merci Michel pour ta gentillesse et ta patience -- ______________________________________________ Jc
Un grand merci Michel pour ta gentillesse et ta patience