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
|
Private Sub CommandButton2_Click()
'nombre de ligne de la table
LigneNB = Range("F1").End(xlDown).Row
'les écarts de valeur
ValeurOrigin = Range("J4").Value
ValeurEcart = Range("K4").Value
ValeurMaxi = ValeurOrigin + ValeurEcart
ValeurMini = ValeurOrigin - ValeurEcart
'efface les couleurs
Range("J4").Select
Selection.Copy
Range("F2:F" & LigneNB).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("J4").Select
'boucle
For n = 2 To LigneNB
Data = Range("F" & n).Value
Select Case Data
Case Is = ValeurOrigin
ExtraireLigne (n)
Case Is = ValeurMaxi
ExtraireLigne (n)
Case Is = ValeurMini
ExtraireLigne (n)
Case Is > ValeurMini
If Data < ValeurMaxi Then ExtraireLigne (n)
Case Else
Range("F" & n).Interior.ColorIndex = 0
End Select
Next n
End Sub
Private Sub ExtraireLigne(LigneNum As Double)
'copier la ligne
Range("A" & LigneNum & ":G" & LigneNum).Select
Selection.Copy
'----- destination de la ligne
'nombre de ligne de la table de destination
If Range("O2").Value = "" Then
LigneNBDest = 2
Else
LigneNBDest = Range("O1").End(xlDown).Row + 1
End If
'
Range("O" & LigneNBDest).Select
'coller la ligne
ActiveSheet.Paste
End Sub |
Partager