[VBA/EXCEL2003] Définir cellule dans macro

Résolu
Steve411 -  
 Steve411 -
Bonjour,

Après quelques recherches sur Internet, j'ai réussi à créer une macro qui supprime les lignes vides dans la plage de cellule définie, à savoir, ("A20", "K89") dont voici le code :

Sub Effacer_ligne()
Dim p As Range, i As Long
Set p = ActiveSheet.Range("A3", "D17")
With p
For i = .Rows.Count To 1 Step -1
If Application.CountA(.Rows(i)) = 0 Then _
.Rows(i).EntireRow.Delete 'ICI
Next i
End With
End Sub

A l'heure actuelle, la ligne est supprimée si toute la ligne est vide.. J'aimerai faire en sorte que la ligne soit supprimée si la cellule en colonne A est vide et uniquement pour cette condition. Que faut-il modifier ?

Merci

1 réponse

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Avec Application.CountA(.Rows(i)) tu comptes le nombre de cellules non vides sur la ligne, ce n'est pas ce que tu cherches...

    on peut alleger un peu ton code :
    Dim lig As Long
    For lig = 89 To 3 Step -1
        If Cells(lig, 1) = "" Then Rows(lig).Delete
    Next lig


    eric
    0
    1. Steve411
       
      Nikel. Merci ;)
      0