Rechercher une valeur

Bonjour,

J'ai une base de donnée avec beaucoup de lignes bizarres. Mais j'ai remarqué que ces lignes ont dans le colonne A le mot "Fourn.".

Donc j'aimerais trouver dans mes milliers de lignes, les lignes bizarres et les supprimer. Auriez-vous une commande simple ? J'ai cru voir la commande Find, mais je ne sais pas comment l'utiliser, et est-ce qu'il faut la faire boucler ?

Parce que sinon, j'aurais pensé à un code du genre :

 
Sub supprimer_ligne_vide
derniere_cellule = range("A1048576").end(xlUp).Row
Do
'S'il y a des lignes avec du "Trash" au travers, les supprime
    If Range("A" & compteur) = "Fourn." Then
        Range("A" & compteur).EntireRow.Delete
        compteur = compteur - 1
    End If
compteur = compteur +1
Loop until compteur = nb_ligne
End sub
    

Merci de m'éclairier,

Hehee

Bonjour,

Essaie comme cela

Sub supprimer_ligne_vide()
Dim C As Range
    Application.ScreenUpdating = False
    Do
        Set C = Columns(1).Find("Fourn.", , xlValues, xlPart)
        If Not C Is Nothing Then C.EntireRow.Delete
    Loop While Not C Is Nothing
End Sub

A+

Parfait merci c'est en plein ce que je cherchais.

Cependant, j'ai oublié de mentionné que j'aimerais que la recherche commence à la ligne 3, car mon en-tête contient ce mot. Serait-il possible ?

Merci,

hehee

Serait-il possible alors ?

Oui, quelqu’un m’a dit :

Sub supprimer_ligne_vide()
Dim C As Range
    Application.ScreenUpdating = False
    Do
        Set C = Range("A3:A" & Rows.Count).Find("Fourn.", , xlValues, xlPart)
        If Not C Is Nothing Then C.EntireRow.Delete
    Loop While Not C Is Nothing
End Sub

A+

Merci énormément ! Sujet un peu à part, si je veux supprimer les lignes vides, j'ai cette ligne de code :

derniere_cellule = range("A1048576).end(xlup).row

range("A3:A" & range("A" & derniere_cellule).row).specialcells(xlcellTypeBlanks).entirerow.delete

Par contre, lorsque je n'ai pas de cellule vide, il me pop une erreur. Est-ce qu'il y aurait une facon de contourner le problème de la même façon que tu l'as fait ?

Merci !

Sub Test()
Dim Derniere_Cellule As Long
    Application.ScreenUpdating = False
    Derniere_Cellule = Range("A" & Rows.Count).End(xlUp).Row
    On Error Resume Next
    Range("A3:A" & Range("A" & Derniere_Cellule).Row).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    On Error GoTo 0
End Sub

A+

Merveilleux !

Merci de ton aide!!

Rechercher des sujets similaires à "rechercher valeur"