Cacher des lignes vides pour excel

[Résolu]
Signaler
Messages postés
3
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
9 avril 2009
-
Messages postés
3
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
9 avril 2009
-
Bonjour,

N'ayant pas trouver de réponses complètes dans les forums, je vous expose mon problème.
Sur excel, j'ai crée un planning par mois qui va de la case E73à la case T480 (pour un mois).
Dans certaines cases de ce tableau, se trouve un nom,et, régulièrement, des lignes de formules qui me servent a compter le nombre de nom par colonnes.
Quand j'ai terminé ce planning, je souhaite cacher les lignes vides de ce tableau par macro (vba6.3).
cela fonctionne pour les lignes de noms, mais les lignes de formules restent affichées méme si la valeur est 0.
voici ma macro:

Dim Plage As Range, Lign As Range, colon As Range
    Set Plage = Range("E73:T480")
    For Each Lign In Plage.Rows

        If Application.CountA(Lign) = 0 Then
            
            Lign.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True

        End If
    Next Lign

merci d'avance pour votre aide

4 réponses

Messages postés
3
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
9 avril 2009

Merci à vous deux pour votre aide,

la réponse de jack ma fait changer ma facon de penser moncode.
j'ai créer une colonne qui fait la somme des mots de chaque ligne (de texte ou de resultat de formules), et si le resultat est égale à zéro, cela cache la ligne.
voici le code final.

Dim Plage As Range

'colonne résultat de la somme de mots par ligne
    Set Plage = Range("E73:E520")
    For Each cell In Plage.SpecialCells(xlCellTypeFormulas)

'si le réultat est egal a zéro, cache la ligne        If cell.Value 0 Then cell.EntireRow.Hidden True
           
       
    Next cell
Messages postés
219
Date d'inscription
lundi 21 novembre 2005
Statut
Membre
Dernière intervention
20 décembre 2010

Salut,

Je viens d'essayer cela chez moi et me semble-t-il, une seule ligne de code permet de masquer un type de cellules particulières pour l'ensemble d'une feuille.
Ici pour ton cas, la bonne constante est "xlCellTypeFormulas"

CelluleQuelconque.SpecialCells(xlCellTypeFormulas).EntireRow.Hidden = True

A suivre
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
"Lign" et "colon" ne devraient-ils pas être dimensionnés comme des cellules et pas des Ranges !
(ou, au pire, As Object)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
3
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
9 avril 2009

merci pour ta réponse,
j avais déja essayé avec xlCellTypeFormulas,
 j ai tout de méme remplacé ma ligne:
Lign.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True (qui ne fonctionne que pour les lignes de texte vide)
par: Lign.SpecialCells(xlCellTypeFormulas).EntireRow.Hidden = True, qui me provoque le message: "pas de cellules correspondantes"