Mettre a jour une extaction BD automatique

MJ13

XLDnaute Barbatruc
Bonjour,

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?

Ci-joint le fichier démo.

Merci d'avance.
 

Pièces jointes

  • Filtre_Elaboré_Automatique.xls
    22 KB · Affichages: 61

job75

XLDnaute Barbatruc
Re : Mettre a jour une extaction BD automatique

Bonjour Michel,

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

A+
 
Dernière édition:

Skud

XLDnaute Junior
Re : Mettre a jour une extaction BD automatique

Bonjour MJ13,

Place ce code :

Code:
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 !
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Mettre a jour une extaction BD automatique

Bonjour Job75, Skud

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.

Bon Week-end à tous
 

Skud

XLDnaute Junior
Re : Mettre a jour une extaction BD automatique

Oui je pense moi aussi que le code de Job75 est le plus simple et surtout plus logique avec le 'Intersect' plutôt que le 'Not intersect'

Même si on peut simplifier comme cela :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("F2:G2")) Is Nothing Then
      Extrait_BD
    End If
End Sub

Bon week end ;)
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Mettre a jour une extaction BD automatique

Re,

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

A+
 

Discussions similaires

Réponses
1
Affichages
247

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 975
dernier inscrit
denry