Masque lignes et colonnes

Fermé
VALNOE2626 Messages postés 11 Date d'inscription mardi 18 février 2014 Statut Membre Dernière intervention 20 octobre 2016 - Modifié par jordane45 le 20/10/2016 à 10:47
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 20 oct. 2016 à 10:53
Bonjour,

J'ai créé une macro pour masquer les lignes et les colonnes vides sur une plage allant de :
colonne 6 à 94
lignes : 5 à 125

cela fonctionne pour les colonnes mais pas pour les lignes, qui peut me dire pourquoi

Sub Masquer()
Dim i As Integer, Cel As Range, Col As Range, Vide As Boolean
    Application.ScreenUpdating = False
    Cells.Columns.Hidden = False
    For i = 6 To 94
        Vide = True
        Set Col = Feuil6.Cells(7, i).Resize(125, 1)
        For Each Cel In Col.SpecialCells(xlCellTypeVisible)
          If Not Cel = "" Then Vide = False: Exit For
        Next
        Columns(i).Hidden = Vide
    Next i
    Application.ScreenUpdating = True
End Sub

EDIT : Ajout des balises de code

Merci d'avance

Valérie

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
20 oct. 2016 à 10:53
Bonjour,


cela fonctionne pour les colonnes mais pas pour les lignes, qui peut me dire pourquoi

Tu fais du columns(i).hidden ... mais jamais de Rows(i).hidden


En plus.. pour vérifier si une colonne (ou une ligne) est vide tu peux simplement utiliser un count..
'exemple pour la colonne D
if WorksheetFunction.CountA(Columns("D")) = 0 then
 msgbox("La colonne D est vide")
end if

0