VBA : Finir la saisie d'une tbox avant que Tbox_change s'active
Résolu/Fermé
lanetmel
Messages postés
200
Date d'inscription
mercredi 24 août 2011
Statut
Membre
Dernière intervention
15 mars 2018
-
28 mai 2013 à 14:10
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 - 7 juin 2013 à 13:01
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 - 7 juin 2013 à 13:01
A voir également:
- VBA : Finir la saisie d'une tbox avant que Tbox_change s'active
- Incompatibilité de type vba ✓ - Forum Programmation
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Vba dernière colonne non vide ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Mkdir vba ✓ - Forum VB / VBA
4 réponses
f894009
Messages postés
17185
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
15 avril 2024
1 701
29 mai 2013 à 09:47
29 mai 2013 à 09:47
Bonjour,
Si VBA excel : Sub Tbox_Tcouttotal_LostFocus() n'existe pas
saisie a valider par enter:
Private Sub Tbox_Tcouttota_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
End Sub
a voir
Si VBA excel : Sub Tbox_Tcouttotal_LostFocus() n'existe pas
saisie a valider par enter:
Private Sub Tbox_Tcouttota_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
End Sub
a voir
.Grincheux.
Messages postés
211
Date d'inscription
vendredi 10 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2016
84
Modifié par .Grincheux. le 28/05/2013 à 16:45
Modifié par .Grincheux. le 28/05/2013 à 16:45
Bonjour Mélanie,
Et si tu adaptais ta macro pour qu'elle se lance sur TextBox_LostFocus() au lieu de TextBox_Change() ?
Si tu as besoin que la macro ne s'exécute que lorsque le contenu de la textbox a été modifié, tu peux ajouter un test au début du TextBox_LostFocus().
Exemple :
Bonne journée !
Et si tu adaptais ta macro pour qu'elle se lance sur TextBox_LostFocus() au lieu de TextBox_Change() ?
Si tu as besoin que la macro ne s'exécute que lorsque le contenu de la textbox a été modifié, tu peux ajouter un test au début du TextBox_LostFocus().
Exemple :
Dim change As Boolean Private Sub TextBox1_Change() change = True 'Tu notes dans une variable que le contenu a changé End Sub Private Sub TextBox1_LostFocus() If change Then MsgBox TextBox1.Value 'Mets ici ta macro change = False 'Tu remets la variable à FAUX End If End Sub
Bonne journée !
.Grincheux.
Messages postés
211
Date d'inscription
vendredi 10 mai 2013
Statut
Membre
Dernière intervention
22 octobre 2016
84
Modifié par .Grincheux. le 29/05/2013 à 10:13
Modifié par .Grincheux. le 29/05/2013 à 10:13
Précision : cette macro ne fonctionne qu'avec une TextBox ActiveX.
Pour une TextBox de formulaire, il faut utiliser la fonction TextBox_AfterUpdate(...)
Pour une TextBox de formulaire, il faut utiliser la fonction TextBox_AfterUpdate(...)
lanetmel
Messages postés
200
Date d'inscription
mercredi 24 août 2011
Statut
Membre
Dernière intervention
15 mars 2018
4
28 mai 2013 à 20:01
28 mai 2013 à 20:01
Bonjour Grincheux
Je te remercie pour ta réponse bien gentil à toi de vouloir m'aider j'apprécie beaucoup.
ça ne fonctionne pas.. peut-être aie-je mal fais quelque chose..
J,ai mis dans option explicit
Dim change As Boolean
Ensuite j'ai mis la macro suivante :
Sub Tbox_Tcouttotal_change()
change = True
End Sub
Sub Tbox_Tcouttotal_LostFocus()
If change Then
Tbox_Tcoutmpmp.Visible = True
Label5.Visible = True
Tbox_Tcoutmpmp.Value = CDbl(Tbox_Tcouttotal.Value) * totalpmpbabv / 1000
change = False
End If
End Sub
as-tu une idée de ce que j'ai fait de mal?
il ne semble pas voir le lostFocus ..dans le pas à pas.. il arrête avant cette macro
merci encore
Mélanie
Je te remercie pour ta réponse bien gentil à toi de vouloir m'aider j'apprécie beaucoup.
ça ne fonctionne pas.. peut-être aie-je mal fais quelque chose..
J,ai mis dans option explicit
Dim change As Boolean
Ensuite j'ai mis la macro suivante :
Sub Tbox_Tcouttotal_change()
change = True
End Sub
Sub Tbox_Tcouttotal_LostFocus()
If change Then
Tbox_Tcoutmpmp.Visible = True
Label5.Visible = True
Tbox_Tcoutmpmp.Value = CDbl(Tbox_Tcouttotal.Value) * totalpmpbabv / 1000
change = False
End If
End Sub
as-tu une idée de ce que j'ai fait de mal?
il ne semble pas voir le lostFocus ..dans le pas à pas.. il arrête avant cette macro
merci encore
Mélanie
lanetmel
Messages postés
200
Date d'inscription
mercredi 24 août 2011
Statut
Membre
Dernière intervention
15 mars 2018
4
7 juin 2013 à 13:01
7 juin 2013 à 13:01
Bonjour F894009 et Grincheux
Merci pour vos solutions elles fonctionnent toutes les deux
Mélanie
Merci pour vos solutions elles fonctionnent toutes les deux
Mélanie