Mettre une condition au début de macro

libellule85

XLDnaute Accro
Bonsoir le forum,

J'aurais une nouvelle fois besoin de vous. En effet, je voudrais mettre une condition au début de cette macro (début du code ci-dessous). Actuellement celle-ci recherche les lignes à partir de la ligne 20. Or, ce que je voudrais c'est que celà commence à la ligne 21 si la ligne 19 est écrite et commence à la ligne 20 si ligne 19 vide.
D'avance merci pour votre aide

Code:
Private Sub ApercuAvantImpression(ByVal control As IRibbonControl)
Dim I As Long, c As Range
 Application.ScreenUpdating = False
 For I = 20 To 39
     Set c = Rows(I).Find("*", , xlValues, , 1, 1, 0)
     If c Is Nothing Then Rows(I).Hidden = True
 Next I.....
 

Etienne2323

XLDnaute Impliqué
Re : Mettre une condition au début de macro

Salut libellule,
peut-être quelque chose comme ceci :

VB:
Sub Test()
Dim Plage As Range, c As Range
Dim I As Long, Ligne_Debut As Long

    Set Plage = Cells(19, 1).EntireRow
    
    If Application.WorksheetFunction.CountA(Plage) <> 0 Then
        Ligne_Debut = 21
    Else
        Ligne_Debut = 20
    End If
    
    For I = Ligne_Debut To 39
        Set c = Rows(I).Find("*", , xlValues, , 1, 1, 0)
        If c Is Nothing Then Rows(I).Hidden = True
    Next I
    
     Set Plage = Nothing
 End Sub

Cordialement,

Étienne
 

Discussions similaires

Réponses
9
Affichages
458

Statistiques des forums

Discussions
312 242
Messages
2 086 532
Membres
103 243
dernier inscrit
SAH