suppression de ligne si =0

MissCroft

XLDnaute Nouveau
comment dire en "macro" si la ligne contient une cellule où il y a un 0, supprime cette ligne ?


merci :)
 

ZZR09

XLDnaute Occasionnel
Re : suppression de ligne si =0

Bonjour MissCroft, le forum,

Code:
Sub supp()
Dim i As Integer

For i = Range("A65536").End(xlUp).Row To 2 Step -1
If Cells(i, 1) = 0 And Cells(i, 1) <> "" Then Rows(i).Delete
Next i

End Sub

voici un bout de code qui supprime tout les lignes dont la première colonne contient un 0.

Veux-tu l'étendre à toutes les colonnes?
 

Pierrot93

XLDnaute Barbatruc
Re : suppression de ligne si =0

Bonjour MissCroft, zzr

une autre solution, suppose qu'en colonne A la dernière cellule soit également la dernière ligne à traité :

Code:
Sub test()
Dim i As Integer, c As Range
For i = Range("A65536").End(xlUp).Row To 1 Step -1
    Set c = Rows(i).Find(0, , xlValues, xlWhole, , , False)
    If Not c Is Nothing Then Rows(i).Delete
Next i
End Sub

bonne journée
@+

Edition : Bonjour PierreJean:)
 
Dernière édition:

ZZR09

XLDnaute Occasionnel
Re : suppression de ligne si =0

re,

voici la version supprimant toutes les lignes contenant un 0 dans au moins une colonne ;)

Code:
Sub supp()
Dim i As Integer
Dim j As Byte

For i = Range("A65536").End(xlUp).Row To 2 Step -1
    
    For j = 1 To Cells(i, 255).End(xlToLeft).Column
        Cells(i, j).Select
        If Cells(i, j) = 0 And Cells(i, j) <> "" Then
            Rows(i).Delete
            Exit For
        End If
    Next j
Next i

End Sub

A+
 

MissCroft

XLDnaute Nouveau
Re : suppression de ligne si =0

SEP 037000 EPR Flamanville
SEP 037000 EPR Flamanville
SEP 800035 Rennes SEP 3CP
PER 417010 EPHAD Troyes
PER 417010 EPHAD Troyes
NOR 517050 EuraLille
BIF HR 209196 Cergy Grand Centre
SEP 037000 EPR Flamanville
BIF CP 209190 Meudon Technopole
BIF CP 209190 Meudon Technopole
BZ 220384 Boulogne Zac Seguin
DV 327130 Bordeaux Ilot St Jean T2
0
0
BIF HR 209222 R. Château Renti
BIF HR 209222 R. Château Renti
SEP 037000 EPR Flamanville
NOR 517050 EuraLille
BZ 220384 Boulogne Zac Seguin
BIF HS 209109 Pantin Rue Etienne Marcel
PER 417010 EPHAD Troyes
SEP 037000 EPR Flamanville
GBD 447091 Siège ETDE St Herblain
BIF HS 209264 Chatenay Malabry
BZ 220384 Boulogne Zac Seguin
BZ 220384 Boulogne Zac Seguin
SEP 800035 Rennes SEP 3CP
BIF HS 209273 ORLY ZAC DES SAULES
0
0
PER 417010 EPHAD Troyes


en fait ma colonne ressemble à çà...et je veux supprimer les lignes avec les 0, par un bouton sur la feuille...et tout ce que vous m'avez donné çà marche pas...alors soit c'est moi qui pas claire ce matin soit j'ai loupé un truc
 

ZZR09

XLDnaute Occasionnel
Re : suppression de ligne si =0

Bonjour Pierrot93, PierreJean,

plus évolué ton code Pierrot93!

MissCroft, si ton fichier contient du texte, la ligne ne sera pas supprimée.
Pas de problème de ce coté

voici en fichier joint un générateur de numéros aléatoires et les deux macros de suppression (Pierrot et la mienne)

A+
 

Pièces jointes

  • Supp0.xls
    35.5 KB · Affichages: 45

MissCroft

XLDnaute Nouveau
Re : suppression de ligne si =0

ah j'ai ptet compris pk çà marche pas..cette colonne est un copié collé avec liaison d'un autre onglet, et le collé-liaisonné a remplacé les vides par les 0
le 0 s'affiche mais en fait si on se place dessus c'est ='Planning Livraison B07'!D113
pff j'avais fait çà pour simplifier les données mais en fait c'est pire...
 

ZZR09

XLDnaute Occasionnel
Re : suppression de ligne si =0

re,

Les lignes de PierreJean correspondent à la macro "supp"
à cela près qu'elle différencie du texte d'un nombre ... c'est pas négligeable.

tu peux-copier/coller tes données dans le fichier exemple.


Après quelques tests, les trois méthodes passent :rolleyes:
A+
 

Pièces jointes

  • Supp0_2.xls
    39.5 KB · Affichages: 65

pierrejean

XLDnaute Barbatruc
Re : suppression de ligne si =0

Re

Il y a un "" qui manque dans mon code qui devrait fonctionner même avec une liaison

Code:
For n= range("A65536[COLOR=red]"[/COLOR]).end(xlup).row to 1 step -1
 if range("A" & n)=0 or range("A" & n) = "0" then rows(n).delete
next n

Edit:mes excuses a Pierrot et ZZR09 que j'ai omis de saluer
 

Statistiques des forums

Discussions
312 857
Messages
2 092 868
Membres
105 545
dernier inscrit
pourmanger