VBA-excel : conditions sur les OptionButton

Résolu/Fermé
remix1502 Messages postés 64 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 4 août 2009 - 15 avril 2009 à 11:26
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 15 avril 2009 à 12:24
Bonjour,
Je créé un formulaire dans lequel l'utilisateur fait 4 fois un choix entre oui et non grace à des OptionButton.
Je voudrais que suivant les résultats indiqués, un message apparraissent.

Or je n'arrive pas à combiner le résultat de plusieurs OptionButton.
Voici un exemple de mon code VBA (qui ne marche pas) appliqué au 4ème bouton et censé prendre en compte les résultats des 3 choix précédents :

Private Sub cable_non_Click()
If (AX18 = FAUX And AX20 = FAUX And AX22 = FAUX) Then
Rows("25:28").Select
Selection.EntireRow.Hidden = True
Else
Rows("27:28").Select
Selection.EntireRow.Hidden = True
End If
End Sub

Les 3 cellules AX sont les cellules liés aux 3 OptionButtons précédents. Dedans s'affiche soit "VRAI" soit "FAUX".

Je pense que mon problème a 2 origines :
1. je ne suis pas sûr de savoir imposer plusieurs conditions dans mon IF (est-ce bien And qu'il faut utiliser ?)
2. je ne suis pas non plus sûr que la comparaison de chaine de caractères soit possible (AX18 = FAUX) => ne peut-on pas avoir des bons vieux 0 et 1 à la place de vrai et faux pour simplifier la comparaison ?

Merci de votre aide et de vos avis.
Je compte sur votre réactivité,

Remix!
A voir également:

2 réponses

remix1502 Messages postés 64 Date d'inscription dimanche 26 octobre 2008 Statut Membre Dernière intervention 4 août 2009 1
15 avril 2009 à 12:21
Bon je me suis auto-résolu !

J'ai fini par découvrir que la comparaison de cellule en vba s'écrit [A1]=[A2]

D'où la 1ere ligne de mon if qui change :

If ([AX18] = [BB2] And [AX20] = [BB2] And [AX22] = [BB2]) Then

Avec BB2 une cellule qui vaut toujours "FAUX"

Merci quand même, et en espérant permettre à d'autres de trouver ce qu'ils cherchaient je clique sur "résolu"
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
15 avril 2009 à 12:24
bonjour
VBA est en anglais...
donc FALSE au lieu de FAUX

si tu veux des" bons vieux 0"
AX18*1=0 <==> AX18=FALSE

tu pourrais aussi marquer
IF NOT AX18 AND NOT....
0