Cacher des lignes vides pour excel [Résolu]

cs_benquoi 3 Messages postés mardi 18 novembre 2008Date d'inscription 9 avril 2009 Dernière intervention - 8 avril 2009 à 16:45 - Dernière réponse : cs_benquoi 3 Messages postés mardi 18 novembre 2008Date d'inscription 9 avril 2009 Dernière intervention
- 9 avril 2009 à 14:48
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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_benquoi 3 Messages postés mardi 18 novembre 2008Date d'inscription 9 avril 2009 Dernière intervention - 9 avril 2009 à 14:48
3
Merci
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

Merci cs_benquoi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de cs_benquoi
cnt 219 Messages postés lundi 21 novembre 2005Date d'inscription 20 décembre 2010 Dernière intervention - 8 avril 2009 à 17:45
0
Merci
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
Commenter la réponse de cnt
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 8 avril 2009 à 18:05
0
Merci
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)
Commenter la réponse de cs_Jack
cs_benquoi 3 Messages postés mardi 18 novembre 2008Date d'inscription 9 avril 2009 Dernière intervention - 9 avril 2009 à 10:25
0
Merci
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"
Commenter la réponse de cs_benquoi

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.