Retirer les lignes sans données du tableau? Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Répondre
v
videocontact
Membre fidèle
Membre fidèle
Messages : 164
Appréciation reçue : 1
Inscrit le : 25 mars 2011
Version d'Excel : 2016 EN

Message par videocontact » 26 novembre 2019, 14:42

Hello les amis,

J'ai un tableau Excel qui a été extrait d'une requête SQL.

Mais celui-ci comporte par moment une ligne sur deux sans données (à partir de la ligne 41).

J'aimerai que ces lignes vides soient supprimées de mon tableau (afin de faciliter par la suite mon tri).

Pouvez-vous m'aider car la je galère et je me vois mal supprimer ligne par ligne celles-ci.

Merci de votre aide.
Mat Maj.xlsx
(24.4 Kio) Téléchargé 2 fois
Avatar du membre
Pedro22
Passionné d'Excel
Passionné d'Excel
Messages : 3'934
Appréciations reçues : 401
Inscrit le : 26 janvier 2017
Version d'Excel : 2010 FR
Version de Sheets : FR
Téléchargements : Mes applications

Message par Pedro22 » 26 novembre 2019, 14:48

Bonjour,

En sélectionnant la plage complète des données puis en la transformant en tableau structuré (Insertion --> Tableau ; voir votre fichier en PJ pour le résultat), vous pouvez désormais filtrer les cellules vides d'un champ, supprimer ces lignes, puis ré-afficher les éléments restants.
Mat Maj.xlsx
(25.47 Kio) Téléchargé 1 fois
Merci de prendre 30 sec pour lire la charte du forum.
Quelques conseils : ici
T
Theze
Passionné d'Excel
Passionné d'Excel
Messages : 4'019
Appréciations reçues : 306
Inscrit le : 26 janvier 2011
Version d'Excel : 2007/2019

Message par Theze » 26 novembre 2019, 14:53

Bonjour,

Une autre proposition en VBA. Exécuter la sub "Test()" :
Sub Test()
    
    Dim Plage As Range
    
    Set Plage = DefPlage(ActiveSheet)
    Plage.Cells.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    
End Sub

Function DefPlage(Fe As Worksheet, Optional L As Long = 1, Optional C As Long = 1) As Range
    
    On Error GoTo Fin
    
    With Fe

        Set DefPlage = .Range(.Cells(L, C), _
                       .Cells(.Cells.Find("*", .[A1], -4123, , _
                       1, 2).Row, .Cells.Find("*", .[A1], -4123, , _
                       2, 2).Column))

    End With
    
    Exit Function
    
Fin:

    Set DefPlage = Nothing

End Function
Il vaut mieux un qui sait que cent qui cherchent :wink:

Ce forum étant un lieu de partage, je n'accepte pas les messages privés !
v
videocontact
Membre fidèle
Membre fidèle
Messages : 164
Appréciation reçue : 1
Inscrit le : 25 mars 2011
Version d'Excel : 2016 EN

Message par videocontact » 26 novembre 2019, 14:58

Merci à vous de l'aide mon fichier est ok maintenant, j'ai essayé via une formule dans les colonnes mais je galérais.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message