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
|
Private Sub nom_Change()
Application.ScreenUpdating = False
Sheets("critère").Range("b2").Value = nom.Value
Sheets("extraction").Range("H1").ClearContents
FiltreActif Range("A1"), Sheets("critère").UsedRange, Sheets("operation de tresorerie").Columns("A:v"), False
Columns("J:j").Delete Shift:=xlToLeft
Columns("k:t").Delete Shift:=xlToLeft
Range("K1").FormulaR1C1 = "=SUM(C[-2])"
totalbox = Range("k1").Value
totalbox = Replace(totalbox, ",", ".")
np.Value = Range("k1").Value
list_operation.ColumnHeads = True 'en tete de colone
list_operation.ColumnCount = 10 ' nombre de colone a afficher
list_operation.ColumnWidths = "60,40;80;40;40;40;40;40;50;50"
list_operation.RowSource = "extraction!a2:j" & Range("extraction!b65536").End(xlUp).Row ' etendue de la liste a fficher
list_operation.MultiSelect = fmMultiSelectMulti
Application.ScreenUpdating = True
End Sub
Function FiltreActif(RangeSource As Range, CriterRange As Range, CopyRange As Range, Optional Unique As Boolean = True) As Boolean
FiltreActif = False
On Error Resume Next
RangeSource.AdvancedFilter Action:= _
xlFilterCopy, CriteriaRange:=CriterRange _
, CopyToRange:=CopyRange, Unique:=Unique
DoEvents
If Err = 0 Then FiltreActif = True
On Error GoTo 0
End Function |