Bonjour et merci de votre attention,
J'ai actuellement un problème sur un userform,
dans la partie initialisation je donne une valeur à "x" selon les valeurs de la feuille,
pour information cette valeur est de -1, 0 ou 1.
Si la valeur est 0 ou 1 pas de problème,
pour information si ça vaut 0, ça montre un texte avec marqué que l'équipement est éteint,
pour 1 pareil le texte explique que l'équipement est allumé,
pour -1 au début ça va, ça affiche 2 boutons l'un pour ON, l'autre pour OFF.
Du coup sur mes 2 boutons j'ai mis le code suivant, exemple pour le bouton ON :
En gros ce que je voudrais c'est que si je clique sur ON,Code:
1
2
3
4
5
6 Private Sub OptionButton_ON_Click() Label_CP2.ForeColor = &H4000& x = 1 OptionButton_ON.ForeColor = &H4000& OptionButton_OFF.ForeColor = &H80000012 End Sub
alors le x = -1 qui voulait dire que l'état était indéterminé passe en 1, c'est à dire allumé.
Mais j'ai l'impression que l'action est faite mais que le x utilisé dans la partie initialisation et dans la partie OptionButton sont pas les mêmes.
Puisque par la suite, lorsque j’appuie sur le bouton qui ferme l'user forme, je demande la valeur de x et j'avise en fonction.
Si x vaut -1 ça veut dire que l'utilisateur n'a pas choisi entre ON et OFF lorsque le choix lui a été proposé
si x vaut 1 ou 0, cela veut dire que soit la valeur initiale était de 0 ou 1, soit que la valeur était de -1 et l'utilisateur à fait un choix et l'a fixé à 0 ou 1.
Ou sinon cela veut dire qu'il y a un problème et donc un message d'erreur.
Voila le code :
Et en fait a chaque fois il a x = 0, j'ai ajouté des espions pour essayer de comprendre et il semblerait que les contextes ne soient pas les mêmes, donc les x ne sont pas les mêmes. Donc j'aurais voulu savoir si il existe une écriture pour expliquer de quel contexte vient le x dont j'ai besoin.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub CommandButton_valider_Click() If x = 1 Then Sheets("Données V2").Range("A27") = "ON" ElseIf x = 0 Then Sheets("Données V2").Range("A27") = "OFF" ElseIf x = -1 Then MsgBox ("Erreur, vous n'avez pas choisi l'état du compresseur 2.") Else MsgBox ("Erreur") End If Unload Etat_CP End Sub
Cordialement