Suprimer ligne suivant valeur d'une cellule

  • Initiateur de la discussion Initiateur de la discussion iStarOSX
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

I

iStarOSX

Guest
Bonsoir a tous.

Je cherche a supprimer les lignes d'une feuille si dans la cellule "Y" de la même ligne, la cellule est vide ou comporte "#N/A".

J'ai bien testé un code trouvé sur ce poste :
https://www.excel-downloads.com/threads/suprimmer-ligne-selon-contenu-de-la-cellule.85893/

en modifiant "C" par "Y" ce qui me donne :

Code:
Sub ligne()

For i = Range("Y" & Application.Rows.Count).End(xlUp).Row To 4 Step -1
    If Range("Y" & r) = "#N/A" Or _
    Range("Y" & r).Value = "" Then
            Rows(r).Delete
    End If
Next
End Sub

mais cela ne fonctionne pas, excel me renvoi un message :
Erreur d'execution '1004' :
La méthode 'Range' de l'objet'_Global' a échoué

Je ne vois pas ce qu'il ne lui va pas !!! (J'utilise XL2010 et 2003)
 
Re : Suprimer ligne suivant valeur d'une cellule

Bonjour,
Considérant que je traite la colonne A
Essaies ce code

Code:
Sub ligne()
    LgnFin = Range("A65536").End(xlUp).Row
    For i = LgnFin To 1 Step -1
        If Range("A" & i) = "#N/A" Or Range("A" & i).Value = "" Then
            Rows(i).Delete
        End If
    Next
End Sub
 
Dernière édition:
Re : Suprimer ligne suivant valeur d'une cellule

Bonsoir RENAUDER et merci du coup de main.

J'ai testé ton code, mais excel (2003 et 2010) me renvoi un autre message :
Erreur d’exécution '13' :
Incompatibilité de type

Cordialement
 
Re : Suprimer ligne suivant valeur d'une cellule

Bonjour à tous

Pas sur que ce soit le meilleur code mais il fonctionne

Code:
Sub ligne()
For i = Range("A" & Application.Rows.Count).End(xlUp).Row To 4 Step -1
On Error Resume Next
x = Range("A" & i).Value
If IsError(x) Or x = "" Then Rows(i).Delete
On Error GoTo 0
Next
End Sub
 
Re : Suprimer ligne suivant valeur d'une cellule

Bonjour

@iStarOSX
Dans ta macro, c'est i qu'on devrait lire à la place de r

Code:
Sub ligne()
For i = Range("Y" & Application.Rows.Count).End(xlUp).Row To 4 Step -1
    If Range("Y" & r) = "#N/A" Or _
    Range("Y" & r).Value = "" Then
            Rows(r).Delete
    End If
Next
End Sub

Ce qui devrait donner
Code:
Sub ligne()
For i = Range("Y" & Application.Rows.Count).End(xlUp).Row To 4 Step -1
    If Range("Y" & i) = "#N/A" Or _
    Range("Y" & i).Value = "" Then
            Rows(i).Delete
    End If
Next
End Sub
 
Re : Suprimer ligne suivant valeur d'une cellule

Re

Si le "#N/A" signale une erreur (issue d'un RECHERCHEV par exemple ) il y a bug sur Range("Y" & i)

Il faut donc:

Code:
For i = Range("A" & Application.Rows.Count).End(xlUp).Row To 4 Step -1
    If Range("A" & i).Text = "#N/A" Or _
    Range("A" & i).Text = "" Then
            Rows(i).Delete
    End If
Next
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
333
Réponses
5
Affichages
915
Retour