Macro pour supprimer une ligne selon condition

Bonjour

J'ai un problème ... et je ne sais pas comment le résoudre !

En faite, j'ai crée une macro pour supprimer 2 lignes entières :

Si la cellule de la colonne K = 0 / cellule de K-1 = " "

Je peux joindre un exemple si besoin. et merci pour votre soutien !!

Option Explicit

Sub Elimine_0()

Dim Lig%

Application.ScreenUpdating = 0

For Lig = [C10].End(xlUp).Row To 1 Step -1

If Range("k" & Lig).Value = 0 And Range("k" & Lig - 1).Value = "" Then Rows(Lig).Delete

Next

End Sub

Bonjour,

Quel est le problème du coup ?

S'il s'agit de supprimer 2 lignes à la fois :

Rows(Lig & ":" & Lig-1).Delete

Bonjour

essaye cette syntaxe

If Range("k" & Lig).Value = 0 And Range("k" & Lig - 1).Value = "" Then cells(lg,1).entirerow..Delete

Cordialement

FINDRH

Salut Pedro22

J'ai un message d'erreur "for without next" et surtout les lignes ne se supprime pas !

ci -joint l'exemple :

L'objectif est que si par exemple :

j'ai une valeur I10= "sortie" et 00:00 dans colonne J10 avec une valeur dans I09 = Entrée alors je supprimer les deux ligne 9 et 10 entièrement ...

Est-ce que mon besoin est plus claire ?

MERCI

@+

9exemple-macro.xlsm (565.10 Ko)

Pas de solution les amis

J'attends votre soutien, svp

MERCI

re bonjour

essaye cette proc qui marche chez moi pour supprimer les lignes 6 et 7 en partant du bas ...

dans ta proc apparemment 2 erreurs :

  • les value sont a comparer à 0
  • le i correspond au nr de ligne et non a la colonne il y a inversion

Sub eraseEntireRow()

Dim nbligne As Long, i As Long

nbligne = Range("A1").CurrentRegion.Rows.Count

Application.ScreenUpdating = 0

For i = nbligne To 2 Step -1

If (Cells(i, 11).Value) = 0 And (Cells(i - 1, 11).Value) = 0 Then

Rows(i & ":" & i - 1).Delete

End If

Next i

End Sub

à tester si j'ai tout compris

FINDRH

Salut !

Oui ça fonctionne c'est bien ça mon objectif Super un GRANG MERCI FINDRH

Re-Hello

je suis désolé, je pensai avoir terminé avec ma macro mais j'ai un bug et en plus de ça un contrôle supplémentaire ... donc HELP SVP !!

Ci-joint l'exemple avec l'explication simple dans le fichier même ...

Merci pour votre aide ... et si possible asap ... pour que j'avance sur la suite ... donc sujet encours et non clos

MERCI Les Helpeurs

A+

Bonjour à Tous

Personne pour m'aider

SVP ... et MERCI

Bonjour à Tous

Personne pour m'aider

SVP ... et MERCI

Bonjour,

Etant donné que le code dans votre fichier ne correspond en rien à la demande inscrite sous le tableau, on peut supposer que ce n'est pas si urgent que ça... Sinon vous auriez au moins tenté de le faire vous même !

Un essai :

Sub SupprConditionnelleLignes()

Dim nbligne As Long, i As Long

Application.ScreenUpdating = False
nbligne = Range("A1").CurrentRegion.Rows.Count
For i = nbligne To 2 Step -2
    If Range("A" & i) = Range("A" & i - 1) And Range("C" & i) = Range("C" & i - 1) And Range("F" & i) = Range("F" & i - 1) _
    And Range("H" & i) = Range("H" & i - 1) And Range("I" & i) = "Sortie" And Range("K" & i) = 0 Then
        Rows(i & ":" & i - 1).Delete
    End If
Next i

End Sub

Hello Pedro22

You are a Master

Honnetement si je l'ai fait mais j'i oublié de joindre la MAJ ... cela dit il fonctionne avec un bug ... désolé vous avez raison

Sub eraseEntireRow()

Dim nbligne As Long, i As Long

nbligne = Range("A1").CurrentRegion.Rows.Count

Application.ScreenUpdating = 0

For i = nbligne To 2 Step -1

If (Cells(i, 1).Value) = Cells(i - 1, 1).Value And Cells(i, 3).Value = (Cells(i - 1, 3).Value) And (Cells(i, 6).Value) = (Cells(i - 1, 6).Value) And (Cells(i, 11).Value) = 0 And (Cells(i - 1, 9).Value) = "Entrée" Then

Rows(i & ":" & i - 1).Delete

End If

Next i

dans tt les cas ... un BIG MERCI

Ca fonctionne parfaitement !!

Merci du retour, il ne te reste plus qu'à indiquer que ton sujet est résolu !

Done

Rechercher des sujets similaires à "macro supprimer ligne condition"