VBA-excel : conditions sur les OptionButton
Résolu
remix1502
Messages postés
64
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
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!
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!
Configuration: Windows XP Internet Explorer 6.0
2 réponses
-
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" -
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....