J'utilise de plus en plus les filtres élaborés pour les extractions de bases de données, c'est très simple et très rapide.
Mais il faut que je clique sur le bouton pour la mis à jour.
Comment pouvoir entrer un nombre ou un mot (si on a des mots à traiter) dans la zone de critère sans avoir a appuyer sur le bouton pour mettre à jour l'extraction?
Essayer avec une macro évènementielle (dans le code de la feuille) :
Code:
Private Sub Worksheet_Change(ByVal Cel As Range)
If Intersect(Cel, Range("F2:G2")) Is Nothing Then Exit Sub
Range("BD").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("cr") _
, CopyToRange:=Range("zd"), Unique:=False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Columns(6)) Is Nothing Then
Extrait_BD
End If
If Not Application.Intersect(Target, Columns(7)) Is Nothing Then
Extrait_BD
End If
End Sub
au niveau de la feuille...
Bonne journée !
NB: Bonjour Job75, tu as été plus rapide que moi on dirait !
Merci à tous les 2. Vos codes focntionnent bien.
Je vais prendre celui de Job car j'ai une zone de critère d'une vingtaine de cellule et c'est plus facile à écrire.
Cela va me simplifier la vie ce petit code. C'est vrai que j'ai souvent du mal avec les target, intersect, not ...
Oh fait Job75, félicitation pour ton passage à plus de 1000 Posts en 5 mois.
Une autre solution, si simple que je n'y avais pas pensé, met à jour les résultats si l'on modifie n'importe quoi dans la feuille :
Code:
Private Sub Worksheet_Change(ByVal Cel As Range)
Range("BD").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("cr"), _
CopyToRange:=Range("zd"), Unique:=False
End Sub