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
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
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 ?
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
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
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
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