Excel: VBA supprime le groupe de lignes

J'ai un file excel avec une colonne avec des données. Quelque chose comme:

21/07/2017 DEF GHI Field 7 SOMETHING HERE MORE TEXT 21/07/2017 DEF GHI Field 7 

Cela se répète quelques milliers de fois. Ce que je cherche, ce sont toutes les lignes entre 21 et 20/20/20 et Field 7 à supprimer et pour les lignes à déplacer vers le haut.

J'ai essayé quelques choses mais maintenant de nouveau sur une canvas vierge! Des conseils?

Merci

CODE QUE J'AI FAIT

Je reçois une erreur de débordement

 Sub deleteRows() Dim sh As Worksheet Dim rw As Range Dim RowCount As Integer RowCount = 1 Application.DisplayAlerts = False Set sh = ActiveSheet For Each rw In sh.Rows If sh.Cells(rw.Row, 1).Value = "21/07/2017" Then a = RowCount End If If sh.Cells(rw.Row, 1).Value = "Field 7" Then b = RowCount Rows(a & ":" & b).Delete End If RowCount = RowCount + 1 Next rw End Sub 

Cela ne bougera que plusieurs fois que la paire existe et supprime chaque bloc dans son set.

La boucle se termine la première fois que les deux valeurs ne sont pas trouvées dans les valeurs restantes.

 Sub myDelete() Dim str1 As ssortingng Dim str2 As Ssortingng Dim rng As Range Dim ws As Worksheet Dim i As Long Dim j As Long str1 = "21/07/2017" str2 = "Field 7" Set ws = Worksheets("Sheet18") 'change to your worksheet Set rng = ws.Range("A:A") Do i = 0: j = 0 On Error Resume Next i = Application.WorksheetFunction.Match(str1, rng, 0) j = Application.WorksheetFunction.Match(str2, rng, 0) On Error GoTo 0 If i > 0 And j > 0 Then ws.Rows(i & ":" & j).Delete End If Loop Until i = 0 Or j = 0 End Sub 

Si votre date est une date réelle, modifiez str1 en Double:

 Dim str1 As Double 

puis affectez-le comme tel:

 str1 = CDbl(DateSerial(2017, 7, 21))