Probleme avec #REF!

casdale

XLDnaute Nouveau
Bonjour, je souhaite faire un trie automatique d'une feuille excel qui supprimera automatiquement les ligne ou dans la colone A il y a #REF!

voila ce que j'ai réussi a faire mais la ligne If x = "#REF!" ne fonction pas j'arrive pas a trouve comment selectionné ses case.

=article!#REF!


Sub es()

Dim x As Range 'Déclare la variable x -> x = cellule

Set x = Range("A1:A" & Range("A65536").End(xlUp).Row) 'x = I1 à dernière cellule pleine de I

For Each x In x 'Boucle sur toutes les cellules pleines de la colonne I
If x = "#REF!" Then 'Si = 0
x.EntireRow.Delete 'Efface la ligne
End If 'Fin de la condition
Next x 'Fin de la boucle

End Sub
 

kjin

XLDnaute Barbatruc
Re : Probleme avec #REF!

Bonjour et bienvenue
Ca donne faim...
Si l'on conserve le principe
Code:
Sub es()
Dim r As Range, c As Range
Set r = Range("A1:A" & Range("A65536").End(xlUp).Row)
For Each c In r 'Boucle sur toutes les cellules pleines de la colonne A
If IsError(c) Then
c.EntireRow.Delete 'Efface la ligne
End If 'Fin de la condition
Next 'Fin de la boucle
End Sub
A+
kjin
 

job75

XLDnaute Barbatruc
Re : Probleme avec #REF!

Bonjour casdale, Re kjin :)

On peut aussi écrire :

Code:
For Each x In x 'Boucle sur toutes les cellules pleines de la colonne I
If x[COLOR="Red"].Text[/COLOR] = "#REF!" Then 'Si = 0

Ainsi, seules les erreurs #REF! seront supprimées, pas les autres.

Pas encore déjeuné.

A+
 

casdale

XLDnaute Nouveau
Re : Probleme avec #REF!

je vous remercie pour votre réponse si rapide. Cela fonctionne en revanche un nouveau problème est survenu. Étant donné qu'on supprime une ligne la précédente remonte et n'est pas analysé donc si j'ai deux #Ref! de suite le deuxième n'est pas effacé. Avez vous une solution pour remédie a se problème ?
 
Dernière édition:

casdale

XLDnaute Nouveau
Re : Probleme avec #REF!

Voila le fichier, le principe c'est que lorsque je supprime un article dans la feuille article cela le supprime aussi automatiquement dans numéro caisse.

Le fichier n'est pas complet j'ai du efface plein de ligne pour qu'il face - de 48ko
 
Dernière édition:

casdale

XLDnaute Nouveau
Re : Probleme avec #REF!

le probleme c est que dans la bouche

If x.Text = "#REF!" Then 'Si = 0
x.EntireRow.Delete 'Efface la ligne


Il ne faudrais pas que je passe a la valeur suivante, il faut que je retesté la même case apres la suppression de la ligne l'efface si c'est #ref sinon on continue la bouche ect


End If 'Fin de la condition

Car si j'ai dans ma colone A


655
#REF! -> bien supprimé
689
743
1089
1091
1104
#REF! -> bien supprimé
#REF! -> pas supprimé
1108
 

casdale

XLDnaute Nouveau
Re : Probleme avec #REF!

D'apres ce que j'ai pu lire la solution est

"quand tu supprimes des lignes il faut commencer par la fin et remonter ...

Code:

For i = Worksheets(1).UsedRange.Rows.Count To 2 Step -1"

Pouvez vous m'aidé a modifier le code
 

casdale

XLDnaute Nouveau
Re : Probleme avec #REF!

Bon voila j'ai résolu mon probleme voici le nouveau code


Sub es()

Dim x As Range 'Déclare la variable x -> x = cellule
Dim I As Long
Set x = Range("A1:A" & Range("A65536").End(xlUp).Row) 'x = I1 à dernière cellule pleine de I

For I = x.Cells.Count To 1 Step -1
If x.Cells(I).Text = "#REF!" Then
x.Cells(I).EntireRow.Delete
End If
Next

End Sub
 

kjin

XLDnaute Barbatruc
Re : Probleme avec #REF!

re,
Code:
Sub es()
Dim x%, i%
x = Range("A65536").End(xlUp).Row 
For i = x To 1 Step -1
If Cells(i, 1).Text = "#REF!" Then
Rows(i).Delete 'Efface la ligne
End If 'Fin de la condition
Next 'Fin de la boucle
End Sub
A+
kjin
 

Discussions similaires