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   -
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!
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. remix1502 Messages postés 64 Statut Membre 1
     
    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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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