Recherche et supression VBA

Bonjour à tous,

J'ai une Macro sur laquelle je bute un peu ... j'espère trouver un peu d'aide par ici

Voici mon problème, je suis entrain de faire une macro qui recherche une réf par rapport à un critère et je supprime la ligne selon le critère mais je voudrai qu'elle supprime pas seulement la ligne ou se trouve le critère mais l'ensemble des lignes ou se trouve la réf...

Ex :

En colonne Q se trouve le critère de recherche et en colonne A la réf (qui se trouve entre 2 et 5 fois d'affilé).

J'ai un début de macro mais je bloque sur la partie suppression des autres lignes contenant la réf qui a déjà été supprimé

Sub DelLiv()

Dim i As Integer

With ThisWorkbook.Sheets("Liste_Incidents(V2)")

For i = .Range("Q" & .Rows.Count).End(xlUp).Row To 2 Step -1

If .Range("Q" & i).Value = "LIV" Then

.Rows(i).Delete

End If

Next i

End With

End Sub

Merci pour votre aide !!

Bonjour et bienvenue sur le forum

A tester :

Sub Supprimer()

    Dim i&
    For i = Range("A" & Rows.Count).End(xlUp).Row To 5 Step -1
        If Range("A" & i) = Range("Q1") Then
            Rows(i & ":" & i).Delete shift:=xlUp
        End If
    Next i
End Sub

Bye !

Bonjour,

Première chose à vérifier précisément ... l'orthographe du nom de la feuille ...

Car ta macro devrait correctement fonctionner ...

Sub DelLiv()
Dim i As Integer
  With Sheets("Liste_Incidents(V2)")
      For i = .Range("Q" & .Rows.Count).End(xlUp).Row To 2 Step -1
        If .Range("Q" & i).Value = "LIV" Then .Rows(i).Delete
      Next i
End With
End Sub

En espérant que cela t'aide ...

Salut James007,

La macro fonctionne mais je voudrais qu'elle supprime également toutes les lignes qui ont la même référence en colonne A.

Par exemple si la macro trouve le critère "Liv" pour la réf 333333 (Réf aléatoire) je voudrais que toutes les lignes qui comporte cette réf soient supprimées.

Je sais pas si je suis clair dans mon explication ^^

Re,

Je dois t'avouer que je ne suis pas sûr de comprendre ...

Peux-tu joindre un petit fichier illustratif ...quelques lignes suffisent ... avec ton explication ...

Bonsoir, Salut à tous !

Tu manques un peu de précision !

On va donc supposer que ton critère te permet de trouver plusieurs références destinées à être supprimées...

S'il ne sert à trouver qu'une référence, tu pourras simplifier...

Sub Test()
    Dim ref, crit$, n%, i%, j%
    crit = "LIV"
    With ThisWorkbook.Sheets("Liste_Incidents(V2)")
        n = .Range("Q" & .Rows.Count).End(xlUp).Row
        For i = 2 To n
            If .Range("Q" & i) = crit Then ref = ref & ";" & .Range("A" & i)
        Next i
        ref = Split(ref, ";")
        Application.ScreenUpdating = False
        For i = 2 To n
            For j = 1 To UBound(ref)
                If .Range("A" & i) = ref(j) Then .Range("A" & i).ClearContents: Exit For
            Next j
        Next i
        .Range("A2:A" & n).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
    End With
End Sub

Cordialement.

Bonjour à tous,

Merci MFERRAND pour votre proposition, je vais l'essayer de ce pas.

James007, je joins un fichier à cette réponse. Si vous avez besoin d'autres explications sur mon problème n'hésitez pas à me demander, j'essaierai d'être plus clair

Encore merci à vous deux !

4exemple.xlsx (9.10 Ko)

Bonjour à tous,

Désolé de ne pas avoir pu répondre avant ...

La macro fonctionne mais elle ne me supprime pas toutes les lignes contenant la réf trouvé par la première recherche .. Quelqu'un aurait une solution ?

Merci d'avance à tous

Cordialement,

Etant donné que tu fournis un fichier ne correspondant pas à ta demande (col. Q vide), on pouvait se demander quels autres écarts tu as pu faire... Mais ne cherche pas ! on travaille sur des chaînes, et tu nous mets des nombres en colonne A...

Tu peux toujours remplacer ref(j) par CLng(ref(j)), ça devrait fonctionner. Mais apprends surtout que si tu n'es pas capable de faire la différence entre un nombre et un texte, VBA lui la fait, et qu'il serait bon que tu saches distinguer chaque type de données...

Bonjour MFerrand,

Oulala je vais allez me cacher !!

Merci pour la réactivité, je vais tester en remplaçant ce que tu viens de me donner !!

Cordialement,

Bonjour MFerrand,

La Macro marche super bien, encore merci pour l'aide !!

Cordialement,

Rechercher des sujets similaires à "recherche supression vba"