Masquer/Démasquer une ligne suivant le résultat d'une cellule de

Résolu
bruillois Messages postés 12 Statut Membre -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Après avoir parcouru ce forum et d'autres, et essayé plusieurs codes je n'arrive pas à résoudre mon problème :-(

J'ai fait une liste d'excel avec une colonne "Oeuvre", une colonne "Auteur"
actuellement, via une liste déroulante, je peux sélectionner un auteur, et cela donne la valeur "1" dans une celulle sur la ligne ou celui ci apparait.
de cette façon, avec, une mise en forme conditionnelle, toutes les lignes ou cet auteur figure, sont surlignées en jaune.
Le problème est que la liste est très longue et que j'aimerai pouvoir "masquer" toutes les lignes ou il n'y a pas la valeur "1" pour n'avoir à chaque fois que les oeuvres de l'auteur que j'ai sélectionné.

J'espère avoir été assez clair et que quelqu'un pourra m'aider.

D'avance merci

6 réponses

  1. bruillois Messages postés 12 Statut Membre
     
    Merci pour ta réactivité, mais j'ai essayé de l'adapter, mais je n'y arrive pas.
    dans mon cas , la valeur 1 ou 0, est affectée à la fin de chaque ligne.
    et cette valeur est donnée automatiquement en fonction de l'auteur. 1 si c'est l'auteur sélectionné dans le menu déroulant et 0 si ce n'est pas lui, d'où le besoin de masquer les lignes avec un 0 dans la colonne "Afficher"
    0
  2. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    peux tu mettre un bout de ton fichier anonymisé avec quelques explications sur ce que tu veux faire.
    pour joindre ton fichier sert toi de ce lien

    https://www.cjoint.com/
    0
  3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Tu peux mettre un filtre automatique qui te permettra de filtrer sur les 1

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

    Posez votre question
  5. bruillois Messages postés 12 Statut Membre
     
    voici le lien
    https://www.cjoint.com/?DFrjLwfk08B

    j'ai essayé ce code mais sans succès

    Sub masquer()

    i = 3 'la macro commence à la ligne 2, si la première ligne est 3, mets : i=3

    Do While Cells(i, 4).HasFormula = True 'tant que le cellule de la ligne i et colonne 1 contient une formule
    If Cells(i, 4) = "" Then 'si la valeur de la cellule de ligne i et de la colonne 1 = "" alors
    Rows(i).EntireRow.Hidden = True 'on cache la ligne

    Else ' sinon
    Rows(i).EntireRow.Hidden = False 'on affiche la ligne
    End If
    i = i + 1 'on passe à la ligne suivante
    Loop
    End Sub
    0
  6. bruillois Messages postés 12 Statut Membre
     
    Concernant les explications, je souhaite masquer les lignes 0 au lieu de surligner les lignes 1
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Je réitère :
      Tu peux mettre un filtre automatique qui te permettra de filtrer sur les 1
      eric
      0
    2. bruillois Messages postés 12 Statut Membre
       
      merci ça fonctionne très bien.
      0
    3. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      ok, je met en résolu pour toi (en haut vers ton titre, pour la prochaine fois)
      eric
      0