Impossible de supprimer ligne avec #N/A

  • Initiateur de la discussion Initiateur de la discussion piwa
  • 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 !

piwa

XLDnaute Occasionnel
Bsr,

Voila grace au forum j'ai trouvé un code qui repond à mon attente, cad supprimer les lignes dans un tableau qui contiennent une valeur precise dans la colonne A.

La valeur cherchée est #N/A , cad que dans cette colonne j'ai une formule recherchev qui me renvoie une valeur si la ligne m'interesse sinon elle me renvoie #N/A ...

Voila le code qui malheureusement ne marche pas .....

Sub SupprimeLignesNA()

'Piwa le 21/11/06

Sheets("Donnees").Select
Dim derlig As Variant, i As Variant
derlig = Range("A65536").End(xlUp).Row
For i = derlig To 2 Step -1
If Cells(i, 28) = "#N/A" Then Rows(i).Delete
Next i
End Sub

Merci de votre aide.... je pense qu'xl ne trouve pas #N/A
 
Re : Impossible de supprimer ligne avec #N/A

Bonjour piwa, MichelXld,

Plutôt que For/Next, il vaut mieux utiliser une boucle Do/Loop, car comme tu Létruis des lignes l'incrémentation de la variable For/Next est faussée.
l'emploi d'une variable de type Long est aussi préférable à Variant.

Voici donc :
Code:
Sub SupprimeLignesNA()
    Sheets("Donnees").Select
    
    Dim i As Long
    i = Range("A65536").End(xlUp).Row
    Do
        If IsError(ActiveSheet.Cells(i, 1)) Then
            ActiveSheet.Rows(i).Delete
        End If
        i = i - 1
    Loop Until i = 0
End Sub
 
Re : Impossible de supprimer ligne avec #N/A

Bonsoir Michel,

Je viens de modifier mon code avec ta synthaxe et erreur 13 incompatibilité ......
mais comme je suis un nulos du code ..... je dois louper un truc....

Sub SupprimeLignesNA()

'Piwa le 21/11/06

Sheets("Donnees").Select
Dim derlig As Variant, i As Variant
derlig = Range("A65536").End(xlUp).Row
For i = derlig To 2 Step -1
If CVErr(xlErrNA) = Worksheets("Donnees").Range("A1") Then Rows(i).Delete
'If Cells(i, 1) = "#N/A" Then Rows(i).Delete
Next i
End Sub

Merci d eton aide
 
Re : Impossible de supprimer ligne avec #N/A

Salut le fil

excusez moi de m'introduire sur le fil.
Piwa j'ai essayé ta macro modifié par michel elle fonctionne par contre tu dois avoir le premier #N/A sur la deuxième ligne et elle fonctionnera.

Salutations
 
Re : Impossible de supprimer ligne avec #N/A

rebonsoir

Plutôt que For/Next, il vaut mieux utiliser une boucle Do/Loop, car comme tu Létruis des lignes l'incrémentation de la variable For/Next est faussée.

La procédure de Piwa est correctement écrite car il boucle de la derniere vers la premiere ligne...



Voici la macro complète :

Code:
Dim Derlig As Long, i As Long
Derlig = Sheets("Donnees").Range("A65536").End(xlUp).Row
For i = Derlig To 2 Step -1
    If Application.WorksheetFunction.IsError(Worksheets("Donnees").Cells(i, 1)) = True Then
        If CVErr(xlErrNA) = Worksheets("Donnees").Cells(i, 1) Then _
                                    Worksheets("Donnees").Rows(i).Delete
    End If
Next i


Bonne soirée
MichelXld
 
Re : Impossible de supprimer ligne avec #N/A

OUPSSSSSSSSSSSSSSSSSs

Pas eu le tps de voir la reponse suvante..........

Je viens d'essayer le code : PARFAIT ca tourne .... un peu d epatience pour le tps de traitement mais la solution est Excellente...

Je me demande si je trie sur la colonne A et que j'arrive à selectionner toutes les lignes ayant #N/A je gagnerai du tps de traitement ?????

Merci à vous
 
- 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

Discussions similaires

Réponses
8
Affichages
1 K
R
Réponses
3
Affichages
3 K
Ricouch
R
Retour