Cacher ou montrer des lignes avec une cellule OUI ou NON

romainlei Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
 françois -
Bonjour,

je voudrais savoir comment on cache ou montre des lignes a partir d'une cellule OUI ou NON

Merci d'avance

Cordialement

10 réponses

  1. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonjour,

    pour faire cela, il faut passer par du VBA si tu as quelques notions

    clic droit sur l'onglet de ta feuille/Visualiser le code et coller le code cidessous

    Private Sub Worksheet_Change(ByVal Target As Range)
    If [A3] = "OUI" Then Rows("5:7").EntireRow.Hidden = True Else Cells.EntireRow.Hidden = False
    End Sub

    enregistrer le fichier sous en choisissant dans Type l'extention XLS ou XLSM

    https://www.cjoint.com/c/GGjmkqbJApj
    ou
    https://www.cjoint.com/c/GGjmjg0I5Tj
    1
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    en passant par le filtrer, ça ne vous convient pas?
    à vous lire
    crdlmnt
    0
  3. romainlei Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
     
    je ne trouve pas comment filtrer les lignes ce ne me propose pas de ligne a filtrer

    je suis sur excel 2010
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      si vous avez un modèle à ,déposer, on y verrait plus clair:
      voyez ici
      https://www.cjoint.com/
      et revenez coller ici le lien créé sur le site
      à vous lire
      crdlmnt
      0
  4. romainlei Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
     
    https://www.cjoint.com/c/GGjjZZIYWzx

    cellule A3 OUI ou NON

    OUI > Affiche les lignes 5,6,7
    NON > Masque les lignes 5,6,7

    Cordialement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. romainlei Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
     
    Merci ça correspond a ma recherche

    Cordialement
    0
  7. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Si tes attentes sont satisfaites, je passe le statut de la discussion en résolu
    0
  8. romainlei Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
     
    https://www.cjoint.com/c/GGjqjePwxkx

    En faite j'ai une autre question

    j'ai plusieurs cellule oui non et je dois cacher les ligne juste en dessous comment puis-je faire

    E145 > si non cache les ligne 146 a 149
    E186 > si non cache les lignes 187 a 194
    G202 > si non cache les lignes 203 a 208
    I210 > si non cache les lignes 211 a 216
    E230 > si on cache les lignes 231 a 236
    C238 > si on cache les lignes 239 a 248

    Cordialement
    0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous

    Dans le module de la feuille Insertion

    Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.address
      Case "$E$145": If Range("E145") = "NON" Then Rows("146:149").Hidden = True Else Rows("146:149").Hidden = False
      Case "$C$186": If Range("C186") = "NON" Then Rows("187:194").Hidden = True Else Rows("187:194").Hidden = False
      Case "$G$202": If Range("G202") = "NON" Then Rows("203:208").Hidden = True Else Rows("204:209").Hidden = False
    ' je te laisse finir
    End Select
    End Sub


    http://www.cjoint.com/c/GGjtbXOwIwB

    Cdlmnt

    Attention. Modifications à 21h02

    Je t'ai supprimé le Module 1 et le Module de classe où tu avais mis le code de la macro concernée par ce post
    0
  10. Mike-31 Messages postés 18205 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re, Bonjour CCM,

    Merci d'avoir pris le relais, j'avais commencé sur ce code ou à partir d'un index ligne exemple 145 j'ajoutais le nombre de ligne à masquer
    Rows(145 + 1 & ":" & 145 + 4)
    par contre je n'ai pas le temps de regarder les codes écrits par Romainlei qui à mon avis présente quelques problèmes

    Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Select Case Target.address
    Case "$E$145": If Range("E145") = "NON" Then Rows(145 + 1 & ":" & 145 + 4).Hidden = True Else Rows(145 + 1 & ":" & 145 + 4).Hidden = False
    Case "$C$186": If Range("C186") = "NON" Then Rows(186 + 1 & ":" & 186 + 8).Hidden = True Else Rows(186 + 1 & ":" & 186 + 8).Hidden = False
    Case "$G$202": If Range("G202") = "NON" Then Rows(202 + 1 & ":" & 202 + 6).Hidden = True Else Rows(202 + 1 & ":" & 202 + 6).Hidden = False
    Case "$I$210": If Range("I210") = "NON" Then Rows(210 + 1 & ":" & 210 + 6).Hidden = True Else Rows(210 + 1 & ":" & 210 + 6).Hidden = False
    Case "$E$230": If Range("G230") = "NON" Then Rows(230 + 1 & ":" & 230 + 6).Hidden = True Else Rows(230 + 1 & ":" & 230 + 6).Hidden = False
    Case "$C$238": If Range("C238") = "NON" Then Rows(238 + 1 & ":" & 238 + 10).Hidden = True Else Rows(238 + 1 & ":" & 238 + 10).Hidden = False
    End Select
    End Sub
    0
  11. françois
     
    Bonjour romainlei,

    Fichier Excel 2007 : https://mon-partage.fr/f/9QsIi5A8/
    Alt F11 pour voir la macro, puis revenir sur Excel.

    ⚠  Les commentaires de la sub sont très importants !!!

    Si les limitations de ma sub ne te gênent pas, tu verras que
    ça convient très bien : adaptation très facile, il n'y a que 2
    lignes à compléter ou à modifier.

    À te lire pour avoir ton avis.
     
    0