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
|
Sub Blabla()
Dim dl, i, j, arrondi As Integer
Dim Pas As Double
dl = 30
Pas = 0.5
i = 3
j = i + 1
'---------Marche très bien pour garder la valeur la plus proche du pas.
Do While Cells(i, 1) - Cells(j, 1) < Pas
' Si des 2 valeurs supérieure au pas la première est plus proche
' de la valeur exacte de la première cellule (cells i,1) moins le pas
'alors exclure cette valeur de la suppression sinon la supprimer et garder la deuxième
If (Cells(j + 1, 1) + Cells(j, 1)) / 2 < Cells(i, 1) - Pas Then
Range(Cells(i + 1, 1), Cells(j - 1, 2)).Font.Color = RGB(192, 32, 255) 'coloration des C supprimées
arrondi = 1 ' marqueur pour déterminer où arrondir
ElseIf (Cells(j + 1, 1) + Cells(j, 1)) / 2 >= Cells(i, 1) - Pas Then
Range(Cells(i + 1, 1), Cells(j, 2)).Font.Color = RGB(192, 32, 255) 'coloration des cellules supprimées
arrondi = 0 ' marqueur pour déterminer où arrondir
End If
j = j + 1
Loop
'--------------------------------------------
'------------------------------------
If arrondi = 1 Then
Cells(j - 1, 1) = Round(Cells(j - 1, 1), 1)
ElseIf arrondi = 0 Then
Cells(j, 1) = Round(Cells(j, 1), 1)
End If
End Sub |
Partager