Excel 2007 vba test si valeur saisie textbox
Fermé
Seb
-
12 juil. 2010 à 14:21
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 15 juil. 2010 à 10:21
Bidouilleu_R Messages postés 1181 Date d'inscription mardi 27 mai 2008 Statut Membre Dernière intervention 12 juillet 2012 - 15 juil. 2010 à 10:21
A voir également:
- Excel 2007 vba test si valeur saisie textbox
- Test performance pc - Guide
- Si et excel - Guide
- Liste déroulante excel - Guide
- Test composant pc - Guide
- Excel cellule couleur si condition texte - Guide
6 réponses
Yoskopolite
Messages postés
83
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
9 novembre 2012
8
12 juil. 2010 à 16:01
12 juil. 2010 à 16:01
Une solution (pas franchement miracle mais bon...) :
1 - Créé une checkbox, et rend la invisible (ou place là à un endroit qui t'arrange).
2 - Sur modification de chacun de tes 50 champs, effectuer la même procédure qui coche la checkbox.
3 - Sur modification de ta combobox, vérifie que la checkbox est cochée. Si c'est le cas, met un message d'avertissement, puis décoche la.
On peut adapater cette méthode en remplissant une cellule plutôt qu'en utilisant une checkbox.
1 - Créé une checkbox, et rend la invisible (ou place là à un endroit qui t'arrange).
2 - Sur modification de chacun de tes 50 champs, effectuer la même procédure qui coche la checkbox.
3 - Sur modification de ta combobox, vérifie que la checkbox est cochée. Si c'est le cas, met un message d'avertissement, puis décoche la.
On peut adapater cette méthode en remplissant une cellule plutôt qu'en utilisant une checkbox.
J'ai fais une classe pour tester si une de mes 50 textbox change alors je coche la checkbox
Voila mon code :
En inscrivant des valeurs dans mes textbox, la checkbox ne se coche pas.
Pouvez vous m'aider?
Merci
Voila mon code :
Private Sub TxtBox_Change() CheckBox1 = True End Sub
En inscrivant des valeurs dans mes textbox, la checkbox ne se coche pas.
Pouvez vous m'aider?
Merci
C'est bon j'ai réussi à cocher ma checkbox par contre maintenant à la place de rendre invisible la checkbox j'aimerais utiliser un booléan.
Voici le code :
La variable txt se met bien à 1 mais quand la combobox change la msgbox n'apparaît pas.
Si je remplace :
par
Le msgbox apparaît.
Où est le problème.
Merci
Voici le code :
Public txt As Boolean Private Sub TxtBox_Change() txt = True End Sub Private Sub ComboBox1_Change() If txt = True Then Select Case MsgBox("Enregistrer les modifications", vbYesNo) Case vbYes Case vbNo End Select End If End Sub
La variable txt se met bien à 1 mais quand la combobox change la msgbox n'apparaît pas.
Si je remplace :
If txt = True Then
par
If CheckBox1.Value = True Then
Le msgbox apparaît.
Où est le problème.
Merci
Yoskopolite
Messages postés
83
Date d'inscription
lundi 14 juillet 2008
Statut
Membre
Dernière intervention
9 novembre 2012
8
13 juil. 2010 à 17:00
13 juil. 2010 à 17:00
Ben ça me parait pas mal. Je ne comprend pas ce qui cloche.
J'ai testé de mon côté avec la variable publique, et ça a l'air de fonctionner.
Essaye de mettre un point d'arrêt sur le "If txt = True Then", pour observer sa valeur et son comportement.
Par contre faut penser à repasser la variable à false dans le code de ComboBox1_Change.
J'ai testé de mon côté avec la variable publique, et ça a l'air de fonctionner.
Essaye de mettre un point d'arrêt sur le "If txt = True Then", pour observer sa valeur et son comportement.
Par contre faut penser à repasser la variable à false dans le code de ComboBox1_Change.
J'ai testé avec les points d'arrêt.
Quand je met une valeur dans une des textbox la variable txt est égale à vide.
J'ai déclaré ma variable txt dans le module de classe. Faut-il la déclaré autre part?
Quand je met une valeur dans une des textbox la variable txt est égale à vide.
Private Sub TxtBox_Change() txt = True End Sub
J'ai déclaré ma variable txt dans le module de classe. Faut-il la déclaré autre part?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai essayé juste avec une textbox et sa marche bien.
Je pense avoir trouver le problème, j'ai fais un module de classe pour ne pas être obligé de répéter le code pour chaque textbox et la variable public ne doit pas fonctionner dans les modules de classe.
Comment remédier à cela?
Merci.
Je pense avoir trouver le problème, j'ai fais un module de classe pour ne pas être obligé de répéter le code pour chaque textbox et la variable public ne doit pas fonctionner dans les modules de classe.
Comment remédier à cela?
Merci.
Bidouilleu_R
Messages postés
1181
Date d'inscription
mardi 27 mai 2008
Statut
Membre
Dernière intervention
12 juillet 2012
293
15 juil. 2010 à 10:21
15 juil. 2010 à 10:21
pour faire simple tu peux utiliser une variable de type boolean
que tu déclares public au niveau du module
public Valide_Profil as Boolean
tu l'initialise sur false dans le module
puis
dans le botoun enregistrer
tu le passe à true
quand tu choisis ton profil dans le combobox j'imagine
tu le contrôles si true....
if not Valide_Profil then
s= msgbox(.... non sauvegardé !!! ",vbokonly,"Alerte")
Exit sub ' tu quittes car non sauvegarde
endif
Valide_Profil =false
tu le remets avant de quitter Valide_Profil =false
que tu déclares public au niveau du module
public Valide_Profil as Boolean
tu l'initialise sur false dans le module
puis
dans le botoun enregistrer
tu le passe à true
quand tu choisis ton profil dans le combobox j'imagine
tu le contrôles si true....
if not Valide_Profil then
s= msgbox(.... non sauvegardé !!! ",vbokonly,"Alerte")
Exit sub ' tu quittes car non sauvegarde
endif
Valide_Profil =false
tu le remets avant de quitter Valide_Profil =false