XL 2021 Supprimer les lignes qui contiennent des cellules vides dans les colonnes "A à M" à partir de la ligne 5

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous 🙂

Me revoilou pour un code que je n'arrive pas à faire correctement.
Dans mon fichier test joint : Supprimer les lignes qui contiennent des cellules vides dans les colonnes "A à M" à partir de la ligne 5

Pour l'instant, mes tentatives ne fontionnent pas bien.
Auriez-vous le bon code ?
Un grand merci à toutes et à tous 🙂
Je continue mes tentatives...
🙂
 

Pièces jointes

Solution
Bonjour Lionel

je te propose ce code

VB:
Sub Macro1()
Dim Derlig&
Derlig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
Range("A5:M" & Derlig).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End Sub

Il te reste à l'associer avec un bouton par exemple mais cela tu sais le faire 😉

Merci de ton retour
Bonjour Lionel

je te propose ce code

VB:
Sub Macro1()
Dim Derlig&
Derlig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
Range("A5:M" & Derlig).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
End Sub

Il te reste à l'associer avec un bouton par exemple mais cela tu sais le faire 😉

Merci de ton retour
 
Lionel

Avec ce code amélioré je supprime que les cellules vides pas la ligne entière à confirmer que tu veux bien cela

VB:
Sub Macro1()
Dim Derlig&, c As Range
Derlig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
For Each c In Worksheets("Feuil1").Range("A5:M" & Derlig).Cells
    If c = "" Then
        'on a trouvé au moins 1 cellule vide
        Worksheets("Feuil1").Range("A5:M" & Derlig).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
        Exit For
    End If
Next
End Sub
 
Dernière édition:
Lionel

Avec ce code amélioré je supprime que les cellules vides pas la ligne entière à confirmer que tu veux bien cela

VB:
Sub Macro1()
Dim Derlig&, c As Range
Derlig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
For Each c In Worksheets("Feuil1").Range("A5:M" & Derlig).Cells
    If c = "" Then
        'on a trouvé au moins 1 cellule vide
        Worksheets("Feuil1").Range("A5:M" & Derlig).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
        Exit For
    End If
Next
End Sub
C'est ton 1er code qui me convient car ce sont bien les lignes que je doit supprimer, pas uniquement les cellules.
Mais je le garde aussi, il pourra me servir.
Grand merci à toi.
😉
🙂
 
Lionel

Attention
Mon 1er code Et le 2eme code ne supprime QUE les cellules vides

La différence entre mes 2 codes c'est que si il n'y a pas de cellules vides dans le 1er code le code plante

Si tu veux supprimer la ligne entière

Range("A5:M" & Derlig).SpecialCells(xlCellTypeBlanks).EntireRow.Delete Shift:=xlUp

Et seulement la cellules vide

Range("A5:M" & Derlig).SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
Et dans l'exemple que tu as fait si on supprime la ligne entière des que l'on trouve une cellule vide alors il ne te reste plus qu'une page blanche !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour