Supression ligne si plusieurs cellules vides

Bonjour Mesdames, Messieurs,

J'ai regardé différents sujets approchant permettant via une formule ou une macro de supprimer une ligne dès lors qu'elle comporte 1 ou plusieurs cellules vides. Mais je n'ai trouvé des résultats que pour une seule cellule vide et pour 2 cellules vides.

Mon propos est de créer une formule permettant de supprimer les lignes dès lors que les cellules de cette même lignes sont vides (à savoir les cellules des colonnes J OU S OU AK OU AL). Il n'est pas obligé que toutes les cellules de la même ligne soit vierge. Dès que l'une d'entre elle est vide alors cela supprime d'office la ligne.

Pour information, je n'ai aucune connaissance en la matière. Aussi si quelqu'un pouvait prendre le temps de réfléchir à ma problématique, cela m'aiderait beaucoup.

Cela doit être impérativement une formule pour info et non via toute une manipulation de filtre de tri etc...

Merci d'avance,

Mathieu

Bonjour,

Si une seule cellule vide suffit à supprimer la ligne, il est inutile de tester si 2, 3 ou 4 cellules sont vides. La suppression ne se gère pas par formule, ce sera donc plutôt une macro.

A quelle moment doit-on réaliser la suppression ?

  • Manuel sur commande utilisateur (clic sur un bouton, etc)
  • Automatique à l'ouverture du fichier
  • Automatique à la modification sur l'une des 3 colonnes
  • Autre

Re-bonjour,

Merci pour votre retour.

Effectivement, dans la calcul si la cellule 1 est vide il est inutile de poursuivre la vérification.

Si en revanche la cellule 1 est remplie, que 2 est remplie, mais que 3 ne l'est pas, cela doit supprimer aussi la ligne. Ceci n'est qu'un exemple.

Pour la suppression des lignes, disons que dès lors que je clique sur la macro, le but est que ça retrouve ces lignes et que ça les supprime dans la foulée sans que j'ai une manipulation additionnelle à effectuer.

En espérant que mon explication ne manque pas de clarté,

Merci, Cdlt

Mathieu

Un essai à adapter :

Sub SuppressionConditionnelle()
Dim Lig As Long
Application.Calculation = xlCalculationManual 'Accélère l’exécution si beaucoup de formules sur la feuille
With Sheets("NomFeuille") 'A adapter
    'Boucle sur les lignes en partant de la dernière
    For Lig = .Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1 'La dernière ligne est déterminée sur la base de la colonne A, à adapter si besoin
        If .Range("J" & Lig) = "" Or .Range("S" & Lig) = "" Or .Range("AK" & Lig) = "" Or .Range("AL" & Lig) = "" Then .Rows(Lig).Delete
    Next Lig
End With
Application.Calculation = xlCalculationAutomatic
End Sub

Re Pedro22,

Je viens de tester et tout me semble OK.

Un grand merci pour le temps que vous y avez consacré.

Je n'y serais clairement pas arrivé seul.

Vraiment super

Cdlt

Mathieu

Pas de quoi, merci du retour et pense à valider le sujet !

Rechercher des sujets similaires à "supression ligne vides"