(VBA EXCEL)Suprimer de lignes contenant #N/A

Résolu/Fermé
Okalys Messages postés 20 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 7 juin 2009 - 30 déc. 2007 à 18:49
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 - 31 déc. 2007 à 14:09
Bonjour,

Après longue recherche et n'ayant rien trouvé à ce sujet, je poste sur ce site en espérant trouver une solution à mon problème. Je souhaiterait supprimer les lignes entières contenant le symbole #N/A présent dans une des des colonnes (colonne B) de mon tableau par l'intermédiaire de VBA.

Merci de votre implication
A voir également:

8 réponses

aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
31 déc. 2007 à 11:59
Autres macros qui j'espère cette fois fonctionnera :))
Sub suppressionLigne_SiErreur_NA()
    Dim x As Long
    
    For x = 65536 To 1 Step -1

        If WorksheetFunction.IsError(Range("B" & x)) = True Then
            If CVErr(xlErrNA) = Range("B" & x) Then _
                Rows(x).EntireRow.Delete
        End If

    Next x

End Sub

Bonne journée
2
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
31 déc. 2007 à 10:38
Bonjour,
Voici la nouvelle macro :
Sub SupprLigne()

Dim x As Long
Dim y As Long

x = Range("A65536").End(xlUp).Row

For y = x To 1 Step -1

    If Cells(y, 2).Value = xlErrNA Then
    
        Rows(y).Delete
    
    End If

Next y

End Sub


Bonne fin de journée et meilleurs voeux pour cette nouvelle année toute proche.
1
Okalys Messages postés 20 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 7 juin 2009 4
31 déc. 2007 à 10:38
Bonjour,
Merci pour vos réponses et votre réactivité,
Bonne journée et également tout mes voeux pour 2008

Okalys
1
Okalys Messages postés 20 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 7 juin 2009 4
31 déc. 2007 à 10:58
Je viens de tester votre nouvelle solution malheureusement le problème reste le même. il y a toujours une erreur d'exécution 13 au même endroit.

Dim x As Long
Dim y As Long

x = Range("A65536").End(xlUp).Row

For y = x To 1 Step -1

If Cells(y, 2).Value = xlErrNA Then <------

Rows(y).Delete

End If

Next y

Merci pour vos autres solutions

Okalys
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
30 déc. 2007 à 19:04
Bonsoir,
essaie cette macro :
Sub SupprLigne()

Dim x As Long
Dim y As Long

x = Range("A65536").End(xlUp).Row

For y = x To 1 Step -1

    If Cells(y, 2).Value = #N/A Then
    
        Rows(y).Delete
    
    End If

Next y

End Sub


Bonne soirée

PS : à tester sur une copie du fichier avant au cas où...
0
Bonjour,

Merci pour ce morceau de code. Je l'ai essayé. J'ai aussi remis des " " pour le "#N/A" car le programme mes les demandait.

Dim x As Long
Dim y As Long
x = Range("A65536").End(xlUp).Row

For y = x To 1 Step -1

If Cells(y, 2).Value = "#N/A" Then --->

Rows(y).Delete

End If

Next y

pour la ligne que j'ai noté d'un ---> j'ai une erreur d'execution "13" Incompatibilité de type

Donc il y a un problème à quelque part mais je ne sais pas où.

Merci de voir si c'est possible de trouver une solution

marcelliy
0
Okalys Messages postés 20 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 7 juin 2009 4
31 déc. 2007 à 12:08
Merci bien de votre aide et d'avoir résolu mon problème.
Cette solution marche impécablement.

Bonne journée
0
aquarelle Messages postés 7140 Date d'inscription dimanche 8 avril 2007 Statut Modérateur Dernière intervention 25 mars 2024 1 302
31 déc. 2007 à 14:09
Super !!!, bonne journée et bon réveillon
0