VBA : If CheckBox.Value = True Or CheckBox.Value = True Then ...

Résolu
fannoche35 Messages postés 12 Statut Membre -  
fannoche35 Messages postés 12 Statut Membre -
Bonjour,

Je cherche à créer une macro qui permette à ce que si une des 3 checkbox est cochée, il faut afficher les lignes 96 à 167.

Voici le code entré mais j'ai un message d'erreur comme quoi il un objet est requis

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Or CheckBox3.Value = True Or CheckBox21.Value = True Then
Rows("96:167").EntireRow.Hidden = False
Else
Rows("96:167").EntireRow.Hidden = True
End If
End Sub

Private Sub CheckBox3_Click()
If CheckBox1.Value = True Or CheckBox3.Value = True Or CheckBox21.Value = True Then
Rows("96:167").EntireRow.Hidden = False
Else
Rows("96:167").EntireRow.Hidden = True
End If
End Sub

Private Sub CheckBox21_Click()
If CheckBox1.Value = True Or CheckBox3.Value = True Or CheckBox21.Value = True Then
Rows("96:167").EntireRow.Hidden = False
Else
Rows("96:167").EntireRow.Hidden = True
End If
End Sub

Merci d'avance pour votre aide !

2 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Essaies ceci

    Les tris checkboxXX_Click font appel à la (même) procedure OK

    Option Explicit
    
    Sub ok()
    If CheckBox1 Then
      Rows(76).Hidden = False
    Else
      Rows(76).Hidden = True
    End If
    If CheckBox3 Then
      Rows(78).Hidden = False
    Else
      Rows(78).Hidden = True
    End If
    If CheckBox21 Then
      Rows(88).Hidden = False
    Else
      Rows(88).Hidden = True
    End If
    If (CheckBox1 Or CheckBox3 Or CheckBox21) = True Then
      Rows("96:167").Hidden = False
    Else
      Rows("96:167").Hidden = True
    End If
    End Sub
    
    Private Sub CheckBox1_Click()
    Call ok
    End Sub
    
    Private Sub CheckBox3_Click()
    Call ok
    End Sub
    
    Private Sub CheckBox21_Click()
    Call ok
    End Sub

    Cdlmnt
    1
    1. fannoche35 Messages postés 12 Statut Membre
       
      Merci ça fonctionne !!!
      Excellent
      0