XL 2016 Supprimer les lignes relatives aux cellules vides d'une plage de donnée spécifique

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 !

adnaneramzi2020

XLDnaute Nouveau
Hello le forum,

Je suis novice en VBA. Je cherche une macro pour automatiser un truc assez simple.

J'ai une plage de données contenant 3 colonnes (A, B, C).

Je veux exécuter un code qui va me permettre de supprimer les lignes relatives au cellules vides de la plage ("A2:A") & lastrow (De A2 Jusqu'à la dernière ligne de la colonne A) vu que ma plage peut contenir un nombre de ligne variable.

Je vous remercie d'avance pour votre aide et votre contribution ^^
 
Hello,

je suis novice aussi donc il y a peut être mieux mais chez moi ça a fonctionné 😉


Sub masquer_ligne_Vide()
Dim cel As Range
Range("A2:A" & [A65000].End(xlUp).Row).Select
For Each cel In Selection
If cel = Empty Then
cel.EntireRow.Hidden = True
End If
Next
End Sub
 
Bonjour Mwad,

Merci pour ta contribution.

J'ai essayé ta proposition mais elle marche que si toute la ligne est vide et non pas que les cellules de la colonne A.

Bonne journée.




Hello,

je suis novice aussi donc il y a peut être mieux mais chez moi ça a fonctionné 😉


Sub masquer_ligne_Vide()
Dim cel As Range
Range("A2:A" & [A65000].End(xlUp).Row).Select
For Each cel In Selection
If cel = Empty Then
cel.EntireRow.Hidden = True
End If
Next
End Sub
 
Bonsoir,

Je te remercie job75 pour cette proposition.

La proposition marche que si toute la ligne est vide et non pas que si les cellules appartenant à la colonne A sont vides :

Exemple plus concret :
A3(Vide) B3 (Vide) C3 (Vide) = ça marche
A3 (Vide) B3 (Valeur) C3 (Valeur) = ne marche pas


Bonne journée.

Bonsoir adnan, Mwad,

Puisque vous avez dit supprimer :
VB:
Sub sup()
On Error Resume Next 'si aucune SpecialCell
[A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
A+
 
Bien sûr la solution ne fait que masquer la ligne vide ça ne la supprime pas.

Merci Mwade (y)

Hello,

je suis novice aussi donc il y a peut être mieux mais chez moi ça a fonctionné 😉


Sub masquer_ligne_Vide()
Dim cel As Range
Range("A2:A" & [A65000].End(xlUp).Row).Select
For Each cel In Selection
If cel = Empty Then
cel.EntireRow.Hidden = True
End If
Next
End Sub
 
Je tiens à vous remercier JOB75 pour votre contribution. Je l'ai testé dans d'autres cas similaires ça marche parfaitement. Donc effectivement c'est une solution au problème mentionné.
Mais dans mon tableau j'ai surement un souci ça me supprime pas la ligne relative à une cellule A2 vide en particulier. Je n'arrive toujours pas à cerner le problème.

Bonne journée !
 
Bonjour à tous 🙂,

Une version qui tient compte du fameux texte vide "" (moins de 0.6 sec. pour 35.000 lignes à supprimer sur 100.000 lignes sur ma bécane). Le code est dans Module1.
VB:
Sub HOP()
Dim n&, fin As Range, deb
   deb = Timer
   Application.ScreenUpdating = False
   Application.ScreenUpdating = False: Application.DisplayAlerts = False
   If Range("a1") = "àSuppr" Then Rows(1).Delete: Columns(1).Delete
   n = Cells(Rows.Count, "a").End(xlUp).Row
   Columns(1).Insert: Rows(1).Insert: Range("a1") = "àSuppr"
   With Range("a2").Resize(n)
      .FormulaR1C1 = "=IF(LEN(RC[1]),1,0)"
      .Value = .Value
      .Resize(, 4).Sort Columns(1), xlAscending, Header:=xlNo
      On Error Resume Next
      Set fin = Columns(1).Find(1)
      If fin.Row > 2 Then Range(Range("a2"), fin.Offset(-1)).EntireRow.Delete
      Rows(1).Delete: Columns(1).Delete
      Application.DisplayAlerts = True
   End With
   If Range("a1") = "àSuppr" Then Rows(1).Delete: Columns(1).Delete
   Application.DisplayAlerts = True
   MsgBox Format(Timer - deb, "0.00\ sec.")
End Sub
 

Pièces jointes

- 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

Réponses
3
Affichages
505
Retour