Masquer des ligne si valeur d'une cellule à Oui

Fermé
LaetitiaG56 - 30 oct. 2020 à 18:39
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 - 30 oct. 2020 à 19:56
Bonjour à tous

Dans mon onglet 2 (feuil2), je souhaite :
- si F22 = oui alors masquer les lignes 24 à 27
- si F22 = non alors masquer la ligne 23

Pourriez vous m'aider ?
J'ai regardé les forum mais étant novice, je n'y suis pas parvenue.

Merci



Configuration: Windows / Internet Explorer 11.0

2 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 30 oct. 2020 à 19:52
Bonjour,

en vba aller sur la feuille2 et faire Alt F11 pour accéder à l'éditeur et mettre ce code qui se déclenchera à chaque changement de la feuille2:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("F22").Value = "OUI" Then
Rows("23").EntireRow.Hidden = False
Rows("24:27").EntireRow.Hidden = True
ElseIf Range("F22").Value = "NON" Then
Rows("24:27").EntireRow.Hidden = False
 Rows("23").EntireRow.Hidden = True
End If
End Sub


enregistrer sous: classeur prenant en charge les macros

--
@+ Le Pivert
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735
30 oct. 2020 à 19:56
Bonjour Laetitia

Possible :

- soit par formule et filtrage:
Dans une colonne inutilisée à la ligne 23 mettre la formule =SI($F$22="non";"x";"")
à la ligne 24 mettre la formule =SI($F$22="oui";"x";"") et étirer la formule jusqu'à la ligne 27
Filtrer ensuite le tableau sur cette colonne avec condition x

- soit par macro
macro à mettre dans un module de l'éditeur VBA :
Sub masquer()

Rows("23:27").Select
Selection.EntireRow.Hidden = False

If Range("F22") <> "oui" And Range("F22") <> "non" Then Exit Sub

If Range("F22") = "oui" Then
Rows("23:23").Select
Else
Rows("24:27").Select
End If

Selection.EntireRow.Hidden = True
End Sub

à lancer depuis Développeur dans le ruban ou depuis un bouton

Cdlmnt
Via
0