[VBA/EXCEL2003] Définir cellule dans macro

Résolu/Fermé
Steve411 - 13 juin 2011 à 17:51
 Steve411 - 13 juin 2011 à 21:36
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

A voir également:

1 réponse

eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 210
13 juin 2011 à 19:38
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
Nikel. Merci ;)
0