Private Sub Worksheet_Activate() 'à l'activation de la feuille
Dim derLigne As Long, a
'On récupère la taille du tableau de base
derLigne = Split(Feuil1.Range("B2").CurrentRegion.Address, "$")(4)
With Feuil3
.Range("B35:L" & .Range("B35").End(xlDown).Row).ClearContents 'On efface le tableau dans la feuille Modèle Client
' et on remet un nouveau tableau :
.Range("B35:B" & derLigne + 33).FormulaR1C1 = "=Général!R[-33]C"
.Range("D35:I" & derLigne + 33).FormulaR1C1 = "=Général!R[-33]C[-1]"
.Range("J35:J" & derLigne + 33).FormulaR1C1 = "=IF(AND(R53C13<=Général!R[-32]C2,R54C13>=Général!R[-32]C2,Général!R[-32]C[-1]=""G""),RC[-3]*0.81,IF(RC[-3]="""","""",-RC[-3]))"
.Range("G35:G" & derLigne + 33).FormulaR1C1 = "=IF(ISBLANK(RC[-1]),"""",IF(AND(R52C14=Général!R3C13),ROUND(R32C10/Général!R3C14,0),IF(AND(R52C14=Général!R4C13),ROUND(R32C10/Général!R4C14,0),IF(AND(R52C14=Général!R5C13),ROUND(R32C10/Général!R5C14,0),IF(AND(R52C14=Général!R6C13),ROUND(R32C10/Général!R6C14,0),IF(AND(R52C14=Général!R7C13),ROUND(R32C10/Général!R7C14,0),IF(AND(R52C14=Général!R8C13),ROUND(R32C10/Généra" & _
"l!R8C14,0),IF(AND(R52C14=Général!R9C13),ROUND(R32C10/Général!R9C14,0),IF(AND(R52C14=Général!R10C13),ROUND(R32C10/Général!R10C14,0),IF(AND(R52C14=Général!R11C13),ROUND(R32C10/Général!R11C14,0),IF(AND(R52C14=Général!R12C13),ROUND(R32C10/Général!R12C14,0))))))))))))" 'On efface/ remet le filtre en remettant la date en D3
a = .Range("D3")
.Range("D3") = ""
.Range("D3") = a
End With
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D3")) Is Nothing Or Not Intersect(Target, Range("F3")) Is Nothing Then
If Range("D3") <> "" Then Range("$B$34").AutoFilter Field:=1, Criteria1:=">=" & Format(Range("D3"), "00000"), Operator:=xlAnd, Criteria2:="<=" & Format(Range("F3"), "00000")
End If
End Sub