Supprimer cellules avec 0 et en #N/A

Bonjour,

j'ai deja posté cette question mis c'etait plus simple.

Dan m'a repondu avec le code suivant qui marchait super bien ; et c'etat pour la colonne B , sauf que quand je decide de l'appliqué sur la colonne P, ca marche plus

Sub Supprimervide() 
'Macro par Dan pour georgesme - Le 03/04/08 
Dim n As Integer 
Application.ScreenUpdating = False 
For n = Range("B65536").End(xlUp).Row To 1 Step -1 
If (Range("B" & n) = "") Then 
Rows(n).Delete 
End If 
Next n 
End Sub

Mon nouveau code qui marche pas est :

Private Sub CommandButton2_Click()
'Macro par Dan pour georgesme - Le 03/04/08
Dim n As Integer
Application.ScreenUpdating = False
For n = Range("P65536").End(xlUp).Row To 1 Step -1
If (Range("P" & n) = "0") Then
Rows(n).Delete
End If
Next n
End Sub

Et comment est il possible de lui faire effacer les #N/A ? c'est dire les lignes ou il y a des #N/A

MErci d'avance

Bonjour,

Essaye ceci :

Private Sub CommandButton2_Click()
'Macro par Dan pour georgesme - Le 03/04/08
Dim n As Integer
Application.ScreenUpdating = False
For n = Range("P65536").End(xlUp).Row To 1 Step -1
If IsError(Range("P" & n)) Or (Range("P" & n) = "0") Then
Rows(n).Delete
End If
Next n
End Sub

Amicalement

Dan

Re,

Remplace le code suivant :

If (Range("P" & n) = "0") Then

par :

If (Range("P" & n) = 0) Then

A tester.

Cdlt,

Merci pour les reponses rapides , mais les 2 solution me donnentune erreur au niveau de la ligne :

If IsError(Range("P" & n)) Or (Range("P" & n) = 0) Then

et meme celle la :

If IsError(Range("P" & n)) Or (Range("P" & n) = 0) Then

J'ai ce code qui marche super bien , mais pas modifié pour effacer le IsError , comment pourrai je l'ajouter ?

Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Columns("P:P").Insert Shift:=xlToRight
Range("P3:P" & [C65536].End(xlUp).Row).Value = Range("Q3:Q" & [Q65536].End(xlUp).Row).Value
With Range("P3:P" & [B65536].End(xlUp).Row)
    .Replace What:="0", Replacement:="", LookAt:=xlWhole
    .SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Columns("P:P").Delete Shift:=xlToLeft
Application.ScreenUpdating = True
End Sub

Re,

Tu peux nous envoyer le fichier qui va avec ?

Cdlt,

re,

Essaye en remplaçant OR par AND

Dan

J'ai remplacé Or par And et ca a pas marché, je joint le fichier avec

c'est le Private Sub CommandButton4_Click() que je travaille dessus.

Merci pour les reponses rapides

Re,

La formule de la colonne P ramène pleine d'erreur #N/A à la fin(P2719:P5984). Par conséquent, il faut d'abord régler ce problème en amont. C'est pour cette raison que le code ne marche pas.

Cdlt,

En fait , quand la reponse est #N/A c'est a dire que le composant existe pas dans la 3eme feuielle et il faut le supprimer, c'est pour ca je voudrais supprimer les lignes #N/A.

et les #N/A nombreux c'est parce que j'ai prevu que le code fonctione sur plusieures lignes au cas ou la base sera plus important mais tant que j'arrive a les supprimer dans ce code , ce serait bon

Re,

En fait, le programme en amont doit remplacer le code suivant (code actuel ) de la colonne P :

=INDEX(ABG2008!$A$1:$C$6484;EQUIV(abg2007!H3;ABG2008!$A$1:$A$6484;0);3)

par ce code :

=SI(ESTNA(EQUIV(abg2007!H3;ABG2008!$A$1:$A$6484;0));0;INDEX(ABG2008!$A$1:$C$6484;EQUIV(abg2007!H3;ABG2008!$A$1:$A$6484;0);3))

dans toute la colonne P.

Comme ça quand il y a l'erreur #N/A, il ramenera 0 dans les cases de la colonne P et la suite de ton programme marchera. A essayer.

Cdlt,

Merci Raja ca marche Super bien je sais pas ce que je ferai sns toi hehehe

Re,

Ne te fais pas de soucis. Il y aura toujours quelqu'un.

Cdlt,

Rechercher des sujets similaires à "supprimer"