Salut ts le monde,
J'ai trouvé un bout de code qui fait presque ce dont j'ai besoin.
Ce que j'ai trouvé, c'est un filtre sur une feuille déterminée. => BD
J'essaye de dire que le nom de la feuille à filtrer se trouve dans la cellule "D4" pour pouvoir le faire sur plusieur feuilles. => janv, fév, mars ....
merci d'avance du coup du pouce
-------------------------------------------
Extraction avec filtre élaboré
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$4" Then
Set f = Sheets("bd")
f.[A11000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=f.[F1], Unique:=True
f.[F1:F100].Sort Key1:=f.[F2], Order1:=xlAscending, Header:=xlGuess
End If
If Target.Address = "$B$4" Then
Set f = Sheets("bd")
f.[A11000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=f.[G1], Unique:=True
f.[G1:G100].Sort Key1:=f.[G2], Order1:=xlAscending, Header:=xlGuess
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$4" Or Target.Address = "$B$4" Then
Set f = Sheets("bd")
f.[A11000].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[A3:B4], CopyToRange:=[A77]
End If
End Sub
J'ai trouvé un bout de code qui fait presque ce dont j'ai besoin.
Ce que j'ai trouvé, c'est un filtre sur une feuille déterminée. => BD
J'essaye de dire que le nom de la feuille à filtrer se trouve dans la cellule "D4" pour pouvoir le faire sur plusieur feuilles. => janv, fév, mars ....
merci d'avance du coup du pouce
-------------------------------------------
Extraction avec filtre élaboré
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$4" Then
Set f = Sheets("bd")
f.[A11000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=f.[F1], Unique:=True
f.[F1:F100].Sort Key1:=f.[F2], Order1:=xlAscending, Header:=xlGuess
End If
If Target.Address = "$B$4" Then
Set f = Sheets("bd")
f.[A11000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=f.[G1], Unique:=True
f.[G1:G100].Sort Key1:=f.[G2], Order1:=xlAscending, Header:=xlGuess
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$4" Or Target.Address = "$B$4" Then
Set f = Sheets("bd")
f.[A11000].AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[A3:B4], CopyToRange:=[A77]
End If
End Sub
Dernière édition: