suppr lignes avec uniquement des 0

zorg

XLDnaute Nouveau
Bonjour à tous,

Ca va peut etre vous sembler simple mais je galère depuis un petit moment :(sur une macro pour supprimer les lignes d'un tableau pour lesquelles toutes les cellules ont pour valeur 0. En gros si toutes les cellules de la ligne 2, de la colonne E à AA sont égales à zéro je supprime la ligne entière et je recommence l'opération jusqu'en bas de mon tableau.

J'ai fait 15000 recherches sur des posts existants du forum mais rien à faire; je n'y arrive pas meme d'une manière détournée.:confused:

Est ce que quelqu'un aurait une idée ??

Merci d'avance
Zorg
 

jmd2

XLDnaute Accro
Re : suppr lignes avec uniquement des 0

helllo

en manuel, sans macro :
clic dans ton tableau, menu données/filtrer/filtre auto
choisis 0 dans chaque colonne (les petites flèches qui sont apparues dans la première ligne)
tu vois toutes les lignes à 0
tu sélectionnes les lignes
tu supprimes
 

cbea

XLDnaute Impliqué
Re : suppr lignes avec uniquement des 0

Bonjour zorg,

Voici une solution en VBA.
 

Pièces jointes

  • Supprimer Lignes.zip
    9.7 KB · Affichages: 43
  • Supprimer Lignes.zip
    9.7 KB · Affichages: 49
  • Supprimer Lignes.zip
    9.7 KB · Affichages: 49

zorg

XLDnaute Nouveau
Re : suppr lignes avec uniquement des 0

Cbea,
on y est presque avec ton code ;); en fait la ligne ne doit etre supprimée que si l'ensemble des cellules la composant sont chacunes égales à zéro.

Merci pour votre aide à ceux qui ont déjà rép ou qui vont rép à mon post
 

Roland_M

XLDnaute Barbatruc
Re : suppr lignes avec uniquement des 0

re
il faudrait adapter le code de Cbea qui supprime la ligne s'il y a un seul 0 !?
Code:
DerLig = Sheets(1).Cells.SpecialCells(xlCellTypeLastCell).Row
For Lig = DerLig To 2 Step -1 'partir de la dernière pour sup lig (sup lig si tout =0)
 NbrDeFois = Application.WorksheetFunction.CountIf(Range("E" & Lig & ":AA" & Lig), ">0")
 If NbrDeFois = 0 Then Rows(Lig & ":" & Lig).Delete Shift:=xlUp
Next

Roland
 

zorg

XLDnaute Nouveau
Re : suppr lignes avec uniquement des 0

Re,
Exact Roland, il faudrait adapter le code de Cbea qui supprime la ligne s'il il y a un 0, mais cette fois avec l'ensemble des cellules d'une meme ligne égales à 0.

Merci bcp pour l'aide

Zorg
 

cbea

XLDnaute Impliqué
Re : suppr lignes avec uniquement des 0

Bonjour à tous,

Voici une autre solution.
Suppression de la ligne lorsque toutes les cellules des colonnes E à AA sur cette même ligne sont égales à 0.

Code:
Private Sub cmdSupprimer_Click()
    Dim Lig As Long
    Dim derLig As Long
    Dim plage As Range
    
    ' Dernière ligne dans la feuille
    derLig = Range("A1").SpecialCells(xlCellTypeLastCell).Row
    
    ' Boucle de la dernière ligne à la ligne 2
    For Lig = derLig To 2 Step -1
        Set plage = Range("E" & Lig & ":AA" & Lig)
        
        ' Compter le nombre de cellules ayant un 0
        If Application.WorksheetFunction.CountIf(plage, 0) = plage.Columns.Count Then
            Rows(Lig & ":" & Lig).Delete Shift:=xlUp
        End If
    Next Lig
End Sub
 

zorg

XLDnaute Nouveau
Re : suppr lignes avec uniquement des 0

:eek:Ca marche !!!!!!!!!!!!!!:D:D
Roland ; apres avoir testé j'avais vu que lorsque la valeur était <0 ça déconnait et j'étais sur la résolution du probleme. Mais en rafraichissant la page du forum j'ai vu la rép de Cbea et là c'est le bonheur; ça fonctionne impeccable.

Un GRAND GRAND merci à vous pour votre aide

Bon week end
Zorg
 

Discussions similaires

Réponses
2
Affichages
136

Statistiques des forums

Discussions
311 998
Messages
2 084 457
Membres
102 581
dernier inscrit
Michou