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

Résolu
Okalys Messages postés 20 Statut Membre -  
aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   -
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
Configuration: Windows XP
Internet Explorer 7.0

8 réponses

  1. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    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
  2. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    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
  3. Okalys Messages postés 20 Statut Membre 4
     
    Bonjour,
    Merci pour vos réponses et votre réactivité,
    Bonne journée et également tout mes voeux pour 2008

    Okalys
    1
  4. Okalys Messages postés 20 Statut Membre 4
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    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
  7. marcelliy
     
    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
  8. Okalys Messages postés 20 Statut Membre 4
     
    Merci bien de votre aide et d'avoir résolu mon problème.
    Cette solution marche impécablement.

    Bonne journée
    0
  9. aquarelle Messages postés 7181 Date d'inscription   Statut Modérateur Dernière intervention   1 311
     
    Super !!!, bonne journée et bon réveillon
    0