Masquer lignes avec Select Case

Bonjour,

J'ai une case C6 dans laquelle je peux entrer une valeur de 1 à10.

Selon la valeur indiquée, je souhaite cacher plus ou moins de lignes. Pour éviter d'utiliser la fonction If, j'ai choisi d'utiliser la fonction Case.

Voici mon code actuel. Il ne fonctionne pas, et je n'arrive pas à voir pour quelles raisons.

Je vous remercie par avance.

Sub Cacherlignes()

'

' Cacherlignes Macro

'

machine = Range("C6")

Select Case machine

Case Is = 1

Rows("52:231").EntireRow.Hidden = True

Case Is = 2

Rows("72:231").EntireRow.Hidden = True

Case Is = 3

Rows("92:231").EntireRow.Hidden = True

Case Is = 4

Rows("112:231").EntireRow.Hidden = True

Case Is = 5

Rows("132:231").EntireRow.Hidden = True

Case Is = 6

Rows("152:231").EntireRow.Hidden = True

Case Is = 7

Rows("172:231").EntireRow.Hidden = True

Case Is = 8

Rows("192:231").EntireRow.Hidden = True

Case Is = 9

Rows("212:231").EntireRow.Hidden = True

End Select

End Sub

Bonjour toutes et tous

A vu d’œil comme cela peut être que ta macro tu ne lui donne pas la directive d'aller pécher une feuille de ton classeur exemple

With Sheets("Feuil1")
' ton code
end with
end sub  ' ne pas oublier pour sortir de la procédure

et peut-être aussi exemple si ton onglet de ton classeur est Feuil1

machine = sheets("Feuil1").Range("C6").value

et aussi peut-être déclaration de machine ?

Dim machine

crdlt,

André

Bonjour

on détache avant

A voir

Sub Cacherlignes()
'
' Cacherlignes Macro
'
Rows("52:231").EntireRow.Hidden = False
machine = Val(Range("C6"))

    Select Case machine
        Case Is = 1
            Rows("52:231").EntireRow.Hidden = True
        Case Is = 2
            Rows("72:231").EntireRow.Hidden = True
        Case Is = 3
            Rows("92:231").EntireRow.Hidden = True
        Case Is = 4
            Rows("112:231").EntireRow.Hidden = True
        Case Is = 5
            Rows("132:231").EntireRow.Hidden = True
        Case Is = 6
            Rows("152:231").EntireRow.Hidden = True
        Case Is = 7
            Rows("172:231").EntireRow.Hidden = True
        Case Is = 8
            Rows("192:231").EntireRow.Hidden = True
        Case Is = 9
            Rows("212:231").EntireRow.Hidden = True
    End Select
End Sub

A+

Maurice

Bonjour,

Je vous remercie pour vos réponses. Malheureusement cela ne fonctionne pas.

Je vous ai mis un exemple de mon soucis avec le code en PJ.

Merci d'avance,

5classeur2.xltm (17.62 Ko)

Bonjour

regarde bien la macro

Sub Cacherlignes()
'
' Cacherlignes Macro
'
'With Sheets("Feuil1")
Rows("4:29").EntireRow.Hidden = False ' on decache avant

machine = Val(Range("C3"))
    Select Case machine
        Case 1
            Rows("12:29").EntireRow.Hidden = True
        Case 2
            Rows("18:29").EntireRow.Hidden = True
        Case 3
            Rows("24:29").EntireRow.Hidden = True
    End Select

'End With

End Sub

A+

Maurice

Bonjour,

Merci mais ça ne fonctionne toujours pas.

Rechercher des sujets similaires à "masquer lignes select case"