Supression de lignes vides avec conditions

Bonjour amis VBéiste!

Je suis novice en VBA, et après de trop nombreuses heures infructueuses de recherche, je m'en remet à votre expertise :

Je souhaite supprimer 1 ligne d'une plage de sélection définie à l'avance (et variable puisque la ligne qui sera supprimée changera la plage de sélection) à la condition que la ligne du dessus et celle sélectionnée (dans la plage de sélection) soient vide :

avec l'exemple ça donne :

Dans la plage sélectionnée A5:F17 je veux obtenir que seules les lignes en jaune soient supprimées.

J'ai essayé plusieurs types de codes mais n'ai rien trouvé de valable.

Merci de votre aide

test macro xlsm excel

Bonjour,

Essaie avec

Sub Test()
Dim Ligne As Integer
    For Ligne = 17 To 5 Step -1
        If Application.CountA(Cells(Ligne, 1).Resize(, 6)) = 0 Then
            If Application.CountA(Cells(Ligne - 1, 1).Resize(, 6)) = 0 Then Rows(Ligne - 1).Delete
        End If
    Next Ligne
End Sub

A+

Parfait ça fonctionne!!! TOP

Petite question subsidiaire : dans mon cas, ma plage sélectionnée varie, le tableau sélectionné peut contenir plus ou moins de lignes.

Car je dois appliquer cette macro sur plusieurs tableaux. Que faire ?

Merci de ton aide.

Il faut que tu repères les cellules qui peuvent te permettre de borner ton tableau.

Cela peut être la dernière cellule d'une colonne qui est renseignée systématiquement (un total par exemple).

Difficile d'en dire plus sans exemple.

A+

Voici l'exemple avec les explications.

For Ligne = 17 To 5 Step -1

J'aimerais paramétrer :

For ligne = " DernLigne - 5" To 5 Step -1 ... Je sais que je viens d'écrire une ineptie c'est pour cela que j'ai encore besoin de ton aide...

Merci

2015 09 30 16 14 55 test macro xlsm excel

Tu te mésestimes

Ce n'est pas une ineptie, la preuve :

Sub Test()
Dim DerLig As Integer, Ligne As Integer
    DerLig = Range("F" & Rows.Count).End(xlUp).Row - 4
    For Ligne = DerLig To 5 Step -1
        If Application.CountA(Cells(Ligne, 1).Resize(, 6)) = 0 Then
            If Application.CountA(Cells(Ligne - 1, 1).Resize(, 6)) = 0 Then Rows(Ligne - 1).Delete
        End If
    Next Ligne
End Sub

A+

Super !!!

Merci

J'ai tellement cherché... je devenais fou à n'en plus dormir la nuit ^^

Rechercher des sujets similaires à "supression lignes vides conditions"