Suppression de lignes multiples avec conditions

Bonjour,

J'ai besoin de faire une macro qui supprime:

  • Dans Feuil 1, la ligne qui contient le nom saisit dans la BOX + la ligne vierge du dessous
  • Dans Feuil 2 en simultané supprime uniquement la ligne qui contient le nom

voici mon code (qui ne fonctionne pas )

Sub Bouton1_Cliquer()
Dim i As Integer
Dim Editeur As String
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "Welcome", "Prenom Nom")
With ThisWorkbook.Sheets("Feuil2")
            For i = .Range("C" & .Rows.Count).End(xlUp).Row To 2 Step -1
                        If .Range("C" & i).Value = Editeur Then
    Rows(i).Delete
    End If
   Next i
End With
End Sub

Avez-vous une idée?

merci de votre aide!

Alain

2test.xlsm (18.14 Ko)

Salut AlainDeg,

un début de solution. Le mieux serait déjà de déterminer le nom à supprimer à partir d'une ListBox (dans un USF), ce qui éviterait la frappe et... les erreurs de frappe.

Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "Welcome", "Prenom Nom")
With Worksheets("Feuil2")
    For i = .Range("C" & Rows.Count).End(xlUp).Row To 2 Step -1
        If .Range("C" & i).Value = Editeur Then .Rows(i).Delete shift:=xlUp
   Next i
End With
'
With Worksheets("Feuil1")
    For i = .Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        If .Range("A" & i).Value = Editeur Then .Rows(i & ":" & i + 1).Delete shift:=xlUp
    Next i
End With

A+

Salut curulis57,

merci pour ta réponse,

Cela marche parfaitement, j'ai juste un soucis que je n'avais pas prévu avec ce code:

Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "Welcome", "Prenom Nom")
With Worksheets("Feuil2")
    For i = .Range("C" & Rows.Count).End(xlUp).Row To 2 Step -1
        If .Range("C" & i).Value = Editeur Then .Rows(i).Delete shift:=xlUp
   Next i
End With

'

With Worksheets("Feuil1")
    For i = .Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
        If .Range("A" & i).Value = Editeur Then .Rows(i & ":" & i + 1).Delete shift:=xlUp

==> Pour cette partie du code, la cellule qui contient le nom contient aussi une formule(C'est une formule qui va chercher le nom) et du coup Excel ne supprime pas les lignes car il ne contient pas en soi le NOM mais une formule qui ramène le nom.

J'ai essayé avec ça:

If .Range("A" & i).[b]Target.Value [/b]= Editeur Then .Rows(i).Delete shift:=xlUp
    Next i
End With

Mais sans succès. As-tu une idée du code à utiliser?

Je joints une seconde version du fichier pour illustrer le pb

merci!!

EDIT: j'ai tenté avec formula qui doit être la solution mais sans succès:

With Worksheets("TPO")
    For i = .Range("C" & Rows.Count).End(xlUp).Row To 2 Step -1
        If .Range("C" & i).Formula = Editeur Then .Rows(i & ":" & i + 1).Delete shift:=xlUp
    Next i
End With
7test.xlsm (19.27 Ko)
Rechercher des sujets similaires à "suppression lignes multiples conditions"