Macro trie et suppression
Bonjour,
J'ai un tableau de données d'un robot de traite, à chaque passage au robot, une ligne se créée.
Je voudrais une macro qui trie ces données en fonction du numéro de la vache et de la date de traite.
Seulement les lignes où dans la colonne action la vache est marquée "refusée" ou "relachée non traite" gênent à la synthèse des données, je souhaiterais donc qu'en plus du trie, la macro supprime toutes les lignes lorsqu'il y a refusée ou relachée non traite.
Le tableau devant être actualisé au fur et à mesure des traites, il ne peut y avoir de frontière vers le bas.
Ma macro ne marchant je souhaiterais comprendre les erreurs, merci
Je joins le fichier excel
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Sub Filtre()
'
' Filtre Macro
'
'
ActiveWorkbook.Worksheets("donnees_robots_lot1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("donnees_robots_lot1").Sort.SortFields.Add Key:= _
Range("A6:A5051"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortTextAsNumbers
ActiveWorkbook.Worksheets("donnees_robots_lot1").Sort.SortFields.Add Key:= _
Range("B6:B5051"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("donnees_robots_lot1").Sort
.SetRange Range("A5:AK5051")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
Sub Supprime()
Dim i As Long
Dim e As Long
Dim A As String
Sheets("donnees_robots_lot1").Select
For i = 1 To Range("A6").End(xlUp).Row
If UCase(Cells(i, 1).Value) = "Refusée" Then Exit For
Next i
For e = i + 1 To Range("A6").End(xlUp).Row
If UCase(Cells(e, 1).Value) = "Relachée non traite" Then Exit For
Next e
A = CStr(i + 1) & ":" & CStr(e - 1)
Rows(A).Select
Selection.Delete Shift:=xlUp
Range("A" & i).Select
End With
End Sub |
Merci pour votre aide