Windows 7 - Besoin_d'aide_sur_code_ou_procédure

Asked By Fredo(67) on 09-Aug-12 10:22 AM
Bonjour,

je fait des essais avec les Userform
j'ai tap=E9 ce code
Mon userform comporte 2 ckeckbox
En G1 et G2 j'ai respectivement des valeurs (X ou vide - Vrai ou faux)

***
Private Sub UserForm_Initialize()
If Sheets("feuil1").Range("g1").Value =3D "x" Then CheckBox1.Value =3D True=
Else CheckBox1.Value =3D False
CheckBox2.Value =3D Range("g2").Value
End Sub
***

Mon soucis est le suivant :
Je lance l'userform une premi=E8re fois, il prend bien compte des valeurs d=
e G1 et G2 pour cocher/d=E9cocher les Checkbox

Je modifie les valeurs de G1 et G2, je relance la deuxi=E8me fois mon userf=
orm,
il ne change rien.
Il faut que je
- Modifie les valeurs de G1 et G2
- clique sur arr=EAter la macro dans VBA
- relance l'userform=20

pour qu'il prenne en compte les nouvelles valeurs...

Est-ce normal ?




MichD replied to Fredo(67) on 09-Aug-12 10:43 AM
Bonjour,


Cet ?v?nement du formulaire :  Private Sub UserForm_Initialize() s'ex?cute seulement
lorsque
le formulaire se charge.

Si tu masques le formulaire avec l'aide de la commande "Userform1.Hide", et que tu
l'affiches
? nouveau ? l'aide de la commande "Userform1.Show", l'?v?nement  UserForm_Initialize() ne
s'ex?cute pas et ne peut pas prendre en consid?ration la modification des valeurs de la
feuille.



MichD
---------------------------------------------------------------
Fredo(67) replied to Fredo(67) on 09-Aug-12 10:58 AM
Merci MichD
Bien c'est bien ce que je pensait

Comment pourrais-je faire pour qu'=E0 chaque affichage, on force excel =E0 =
prendre en consid=E9ration les valeurs des cellules consid=E9r=E9es ?

y'a t'il un bout de code ?

Merci



Le jeudi 9 ao=FBt 2012 16:22:22 UTC+2, Fredo(67) a =E9crit=A0:
ue Else CheckBox1.Value =3D False
de G1 et G2 pour cocher/d=E9cocher les Checkbox
rform,
MichD replied to Fredo(67) on 09-Aug-12 11:08 AM
Essaie comme ceci :

Tout le code dans le formulaire...

'--------------------------
Private Sub UserForm_Activate()
MiseAjourCheckBox
End Sub
'--------------------------
Private Sub UserForm_Initialize()
MiseAjourCheckBox
End Sub
'--------------------------
Sub MiseAjourCheckBox()
If Sheets("feuil1").Range("g1").Value = "x" Then
CheckBox1.Value = True
Else
CheckBox1.Value = False
End If
CheckBox2.Value = Range("g2").Value

End Sub
'--------------------------



MichD
---------------------------------------------------------------
3bce793a-49d4-421c-9df5-597eca21f4dc@googlegroups.com...

Merci MichD
Bien c'est bien ce que je pensait

Comment pourrais-je faire pour qu'? chaque affichage, on force excel ? prendre en
consid?ration les valeurs des cellules consid?r?es ?

y'a t'il un bout de code ?

Merci



Le jeudi 9 ao?t 2012 16:22:22 UTC+2, Fredo(67) a ?crit :
Fredo(67) replied to Fredo(67) on 09-Aug-12 05:29 PM
Merci =E7a marche
non seulement dans la feuille de test que j'avais cr=E9=E9 mais surtout dan=
s ma proc=E9dure de base...

Encore un grand merci

Le jeudi 9 ao=FBt 2012 16:22:22 UTC+2, Fredo(67) a =E9crit=A0:
ue Else CheckBox1.Value =3D False
de G1 et G2 pour cocher/d=E9cocher les Checkbox
rform,