VBA Excel erreur d'execution 1004 - Suppression de lignes SI

Résolu/Fermé
rakoto be - Modifié par pijaku le 23/04/2013 à 09:45
pijaku
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
- 23 avril 2013 à 09:41
Bonjour,

Je veux supprimer les lignes qui contiennent le mot LEGER ou MODERE. à chaque fois que j'execute mon programme VBA ci-dessus, un message d'erreur "erreur d'execution "1004" s'affiche sur l'ecran et la ligne "Rows(i).Delete" devient jaune. pouvez vous m'aider à resoudre ce probleme. voici mon code:

Sub SUPPRESSIONLIGNE()
Dim i As Integer
Dim Editeur As String
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "LEGER", "MODERE")
'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("BILAN GENERAL")
For i = .Range("E" & .Rows.Count).End(xlUp).Row To 2 Step -1
If .Range("E" & i).Value = Editeur Then
Rows(i).Delete
End If
Next i
End With
End Sub

merci beaucoup.

be

2 réponses

f894009
Messages postés
16610
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
6 juillet 2022
1 646
23 avril 2013 à 09:24
Bonjour,

Rows(i & ":" & i).Delete
0
pijaku
Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 700
23 avril 2013 à 09:41
Bonjour,

Dans un bloc With end With, si l'objet que vous utilisez appartient à l'objet référencé par le bloc with, il convient de le précéder par un point.
Autrement dit, votre ligne Rows(i), est située dans la feuille "Bilan général", donc, vous devez la faire précéder d'un point :
Sub SUPPRESSIONLIGNE()
Dim i As Integer
Dim Editeur As String
Editeur = InputBox("Veuillez entrer l'editeur à supprimer ?", "LEGER", "MODERE")
 'la valeur saisie est transmise à la variable Editeur
With ThisWorkbook.Sheets("BILAN GENERAL")
    For i = .Range("E" & .Rows.Count).End(xlUp).Row To 2 Step -1
        If .Range("E" & i).Value = Editeur Then
            .Rows(i).Delete
        End If
    Next i
End With
End Sub

0