Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionFor I = dernLigne To 1 Step -1 nn = Range("b" & I).Formula 'donne à la variable nn le contenu de la 'formule. Si elle n'en contient pas nn prend la valeur null If Left(nn, 4) <> "=SUM" Then 'si la formule ne commence pas par =SUM 'La fonction Excel CountA correspond à =NBVAL If Application.WorksheetFunction.CountA(Range("A" & I & ":b" & I)) = 0 Then Rows(I).Delete Shift:=xlUp End If End If Next I
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
For I = dernLigne To 1 Step -1
Option Explicit Sub Macro1() ' MASQUER LES LIGNES VIDES ' Déclarations des variables Dim DernLigne As Long Dim I As Long Dim ZoneRef As Range ' Détermine le numéro de la dernière ligne utilisée DernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1 ' Désactive la mise à jour de l'affichage Application.ScreenUpdating = False ' Désactive la mise à jour des recalculs Application.Calculation = xlCalculationManual ' Pour toutes les lignes en partant de la dernière For I = 1 To DernLigne ' Si la formule commence par =SUM on ne supprime pas la ligne et on passe à la valeur suivante de I If Left(Range("B" & I).Formula, 4) <> "=SUM" Then ' La fonction Excel CountA correspond à =NBVAL (= addition des contenus) If Application.WorksheetFunction.CountA(Range("A" & I & ":b" & I)) = 0 Then Rows(I).EntireRow.Hidden = True End If End If Next I ' Ré-activations Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
Sub Macro2() ' AFFICHER LES LIGNES VIDES ' Déclarations des variables Dim DernLigne As Long ' Détermine le numéro de la dernière ligne utilisée DernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1 ' Affichage Rows("1:" & DernLigne).Select Selection.EntireRow.Hidden = False End Sub
Dim ZoneRef As Range
' Pour toutes les lignes en partant de la dernière
' Affichage Rows("1:" & DernLigne).EntireRow.Hidden = False
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
For I = dernLigne To 1 Step -1
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Count - 1
dernLigne = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.ROWS.Count - 1