Masquer ligne rapidement

Bonjour,

je sais que pas mal de messages parlent de cela mais je n'ai pas trouvé la solution à mon code,

En fait j'utilise ce code pour masquer des lignes vides :

Dim Cel As Range

For Each Cel In Range("A9:A600")

If Cel = "" Then

Cel.EntireRow.Hidden = True

End If

Next

Jusqu'ici tout va bien sauf qu'il est très lent à l’exécuter et j'aimerai savoir si il existe un autre code,

j'en ai essayer plusieurs mais étant donné que dans mes cellules "vides" j'ai des formules il ne me les masquent pas,

pourriez vous m'aiguiller ?

Merci beaucoup pour votre aide,

Cdt,

Bonsoir,

Déjà, en mettant ces quelques lignes de codes en début de code :

Dim Calc As Long
With Application
    .ScreenUpdating = False
    Calc = .Calculation
    .Calculation = xlCalculationManual
End With

et celle-ci en fin de code :

Application.Calculation = Calc

Tu devrais gagner pas mal de temps...

Essaie pour voir

Bonsoir,

A tester.

Cdlt.

Public Sub Demo()
Dim rng As Range, Cell As Range
Dim calcMode As XlCalculation

    With Application
        calcMode = .Calculation
        .Calculation = xlCalculationManual
       .ScreennUpdating=False
    End With

    Set rng = Range("A9:A600").SpecialCells(xlCellTypeBlanks)
    rng.EntireRow.Delete
    Set rng = Range("A9", Range("A" & Rows.Count).End(xlUp))
    For Each Cell In rng
        If Cell.HasFormula And Cell = vbNullString Then Cell.EntireRow.Delete
    Next Cell

    Application.Calculation = calcMode

    Set rng = Nothing

End Sub

Bonjour,

sans boucle et le plus rapide pour masquer directement des lignes : un filtre ou un filtre avancé !

Merci à tous pour vos réponse,

elles fonctionnent toutes ! c'est génial

Merci encore

Rechercher des sujets similaires à "masquer ligne rapidement"