Cacher des lignes à partir d'une autre feuille excel

Résolu
akasha21 Messages postés 14 Date d'inscription vendredi 11 mai 2007 Statut Membre Dernière intervention 22 août 2007 - 22 août 2007 à 16:22
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 - 22 août 2007 à 17:41
Bonjour, je voudrais en selectionnant une tickle box ou non qu'excel selectionne une autre feuille cache ou montre certaines lignes puis revienne sur la 1ere page.
J'ai écrit ça, mais ca ne marche pas, cela me dit "select method of range class failed"

Private Sub CheckBox1_Click()
Sheets("Check").Select
Rows("18:22").Select
If CheckBox1.Value = False Then
    Selection.EntireRow.Hidden = True
       Else
    Selection.EntireRow.Hidden = False 
End If
Sheets("Command").Select
End Sub

J'ai aussi essayé en mettant 2 command button pour que l'un montre et l'un cache mais pareil, cela ne marche pas, problème de range
Pouvez vous m'aider   merci d'avance!

2 réponses

tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
22 août 2007 à 17:18
Bonjour, essaye ça:

Public Sub CheckBox1_Click()
Sheets("Check").Select
Sheets("Check").Rows("18:22").Select
If CheckBox1.Value = FalseThen
    Selection.EntireRow.Hidden = True
       Else
    Selection.EntireRow.Hidden = False
End If
Sheets("Command").Select
End Sub

J'ai testé normalement ça marche.
Mais il est vrai que l'enregistreur de macro l'écrit de la même façon que ce que tu as fait. Si quelqu'un a l'explication ça m'intéresse aussi.

Tubafat
3
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
22 août 2007 à 17:41
Salut,

Chez moi, ton code fonctionne.
Cependant, je te conseille de faire ceci :

Private Sub CheckBox1_Click()
Sheets("Check").Rows("18:22").EntireRow.Hidden = Not CheckBox1.Value
End Sub

Il faut éviter au maximum les "xx.Select" et "Selection.xx" sauf si tu veux voir le curseur se déplacer dans Excel.
(Idem, pour tout ce qui est "xx.Activate" et "ActiveXXX.yyyy")
0
Rejoignez-nous