Masquer une ligne en fonction d'une cellule

Résolu
Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   -  
 bruillois -
Bonjour,

J'aurais aimé savoir s'il était possible de créer une macro (activable via un bouton) qui masque automatiquement les lignes pour lesquels la valeur dans la colonne A est "vide" (Aucune n'est vraiment vide, puisqu'elles ont toutes des formules mais si la formule n'est pas utilisée, elle affiche "")

Merci d'avance

1 réponse

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    Bonjour,

    c'est possible mais le plus simple ne serait-il pas d'utiliser un filtre en n'affichant que les lignes qui ont des valeurs sur la colonne A??

    en tout cas si tu veux une macro :

    sub masquer

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

    do while cells(i,1).hasformula = true 'tant que le cellule de la ligne i et colonne 1 contient une formule
    if cells(i,1) = "" 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
    1. Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
       
      Ta macro fonctionne parfaitement,

      Je te remercie pour ton aide.

      Bonne journée :)

      PS : Merci pour les 'commentaires qui m'aide à mieux comprendre et donc à progresser. En revanche, peux-tu me dire ce que signifie le "loop" à la fin ? Merci.
      0
    2. melanie1324 Messages postés 1561 Statut Membre 156
       
      do while est une boucle qui ne va pas sans loop
      do while est le début de la boucle
      loop est la fin de la boucle.

      c'est comme quand tu écris sub et end sub.
      0
    3. Villette54 Messages postés 300 Date d'inscription   Statut Membre Dernière intervention   28
       
      Ok merci pour l'info !
      0
    4. bruillois
       
      Bonjour, cette macro est elle valable pour excel 2007? car pour moi elle ne fonctionne pas
      0