resultat d'un filtre HELP !

  • Initiateur de la discussion stephane
  • Date de début
S

stephane

Guest
Bonjour,

Je désire récuperer le nombre de dates trouvées dans mon filtre, fait en macro vba

Fichier excel de 6000 lignes avec des achats et leur date

EX : je cherche qui à fait des achats le 5 mai 2004; mon filtre trouve 12 achats sur les 6000 que contient non fichier.

Le but est de récuperer le nombre 12 dans une variable VBA .

la solution de facilité consiste à faire un copier coller de mon filtre dans un autre onglet puis de faire une commande de type CTRL bas, er de récuperer le numéro de la ligne, mais je cherche si ca existe d'origine en VBA.

j'espère avoir été plus clair cette fois et merci de votre aide.

Stephane
 
S

stephane

Guest
En fait je cherche à chainer plusieurs macros de filtre afin de me constituer une sorte de bilan des achats :

ex 15 achats de robes le 15 mai
25 de pantalons le 12 juin etc....

je ne connais donc pas par avance ma plage de tri et ma recherche de filtre est multicriteres.

le passage par vba est donc indispensable.

Stephane
 
A

andré

Guest
Resalut Stéphane,

Il me semble qu'un TCD (Tableau Croisé Dynamique) devrait faire l'affaire.
Ou bien une extraction sans doublons et un SOMMEPROD.

Vois dans ces deux directions, car en VBA je ne puis t'aider.
Ândré.
 
S

sousou

Guest
Bonjour
Effectivement, ce n'est pas très simple puisque autofilter ne semble pas renvoyer d'objet range
La méthode copier coller décrite cidessous fait cela discrétement.
dans l'exemple je cherhce toto dans la colonne b
Sub test()
Columns("B:B").Select
Selection.AutoFilter
Selection.AutoFilter field:=1, Criteria1:="toto"
Set mesdonnées = ActiveSheet.UsedRange.Columns(2)

mesdonnées.Copy
Set temp = Worksheets.Add
temp.Visible = False
temp.Paste
nbligne = temp.UsedRange.Columns(1).Rows.Count - 1
Application.DisplayAlerts = False
temp.Delete
Application.DisplayAlerts = True
mesdonnées.Parent.Activate
MsgBox nbligne
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 683
Messages
2 090 910
Membres
104 693
dernier inscrit
azizou900