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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
Sub BrutOpModif()
Dim m As Integer
Dim Min As Integer
'Dim minn As Integer
Dim Maligne As Integer
m = 2
nbcolonne1 = Sheets("Feuil1").UsedRange.Columns.Count 'compte le nombre de colonnes non vides sur la feuille 1
nbligne1 = Sheets("Feuil1").UsedRange.Rows.Count 'compte le nombre de lignes non vides sur la feuille 1
For ligne = 2 To nbligne1
If ligne = 2 Then 'Je ne comprends pas cette condition. Ca veut dire qu'elle n'est valable que la 1ere fois ?
Min = Cells(ligne, 12) ' ?
Maligne = ligne
Else
If Cells(ligne, 5) = Cells(ligne - 1, 5) Then 'Si l'id est égal à l'id d'avant
If Cells(ligne, 12) < Min And Cells(ligne, 9) = "VERIFIED" And Cells(ligne, 10) = "PENDING_MO" Then ' et si ma version est la plus récente
Min = Cells(ligne, 12).Value 'alors on incrémente le min
Maligne = ligne ' et on prend le numéro de ligne
ElseIf Cells(ligne, 12) < Min And Cells(ligne, 9) = "AFFIRMED_BO" And Cells(ligne, 10) = "PENDING_MO" Then ' et si ma version est la plus récente
Min = Cells(ligne, 12).Value 'alors on incrémente le min
Maligne = ligne ' et on prend le numéro de ligne
ElseIf Cells(ligne, 12) < Min And Cells(ligne, 9) = "VERIFIED_MO" And Cells(ligne, 10) = "PENDING_MO" Then ' et si ma version est la plus récente
Min = Cells(ligne, 12).Value 'alors on incrémente le min
Maligne = ligne ' et on prend le numéro de ligne
ElseIf Cells(ligne, 12) < Min And Cells(ligne, 9) = "CANCELED" Then ' et si ma version est la plus récente
Min = Cells(ligne, 12).Value 'alors on incrémente le min
Maligne = ligne ' et on prend le numéro de ligne
End If
Else
Rows(Maligne).Font.Bold = True 'On met ensuite la ligne en gras. Mais ici,cela va mettre en gras chaque ligne dont la version est inférieure. S'il y a 6,5,4,3,2 par exemple dans la colonne 12 , dans cet ordre, les 5 lignes vont être en gras
Min = Cells(ligne, 12).Value
Maligne = ligne
End If
End If
Next
For ligne = 2 To nbligne1
If Cells(ligne, 9) = "VERIFIED" And Cells(ligne, 10) = "PENDING_MO" And Rows(ligne).Font.Bold = True Then ' si ces 2 critères sont validés
Sheets("Feuil1").Rows(ligne).Copy Sheets("Feuil2").Rows(m) 'Alors on copie la ligne dans la 2eme feuille
m = m + 1
ElseIf Cells(ligne, 9) = "AFFIRMED_BO" And Cells(ligne, 10) = "PENDING_MO" And Rows(ligne).Font.Bold = True Then ' si ces 2 critères sont validés
Sheets("Feuil1").Rows(ligne).Copy Sheets("Feuil2").Rows(m) 'Alors on copie la ligne dans la 2eme feuille
m = m + 1
ElseIf Cells(ligne, 9) = "VERIFIED_MO" And Cells(ligne, 10) = "PENDING_MO" And Rows(ligne).Font.Bold = True Then ' si ces 2 critères sont validés
Sheets("Feuil1").Rows(ligne).Copy Sheets("Feuil2").Rows(m) 'Alors on copie la ligne dans la 2eme feuille
m = m + 1
ElseIf Cells(ligne, 9) = "CANCELED" And Rows(ligne).Font.Bold = True Then ' si ces 2 critères sont validés
Sheets("Feuil1").Rows(ligne).Copy Sheets("Feuil2").Rows(m) 'Alors on copie la ligne dans la 2eme feuille
m = m + 1
ElseIf Cells(ligne, 10) = "CANCEL" And Rows(ligne).Font.Bold = True Then ' si ces 2 critères sont validés
Sheets("Feuil1").Rows(ligne).Copy Sheets("Feuil2").Rows(m) 'Alors on copie la ligne dans la 2eme feuille
m = m + 1
End If
Next
End Sub |
Partager