OVH Cloud OVH Cloud

Creation d'un filtre depuis VB.Net

4 réponses
Avatar
AlexC
Bonjour,

Pour accelerer mes traitements, j'aimerais creer un filtre sur une colonne.

J'ai développé une application VB.net qui ouvre un fichier excel, fait ses
traitements, renseigne une base SQL, créé des fichiers propriétaires et
enregistre les modifications sous un nouveaux fichier excel.

Et malheuresement tout cela est très là car pour commencer je parcours mon
tableau excel avec des boucles., Alors pour optimiser cela j'aimerais
utiliser des filtres pour me permettre de traiter uniquement la partie du
tableau qui m'interresse..
Oui mais voilà, la documentation de la PIA excel est très mal faite et ne
comporte que très peu d'information sur l'utilisation des membres des
classes excel.

J'ai trouvé ceci :

Excel.autofilter, il semble qu'il permette de creer des filtres.

Comment le creer ? comment lui donner les critères de "filtrage" ?

Merci d'avance pour vos réponses.

4 réponses

Avatar
Patrick BASTARD
Bonjour, *AlexC*

Puisque tu connais la programmation, et plutôt que te fournir une
explication tronquée, et peut-être confuse, je te conseille d'effectuer ton
filtrage manuellement après avoir activé l'enregistreur de macro. Cela te
permettra d'étudier, puis d'épurer et de modifier si besoin le code ainsi
généré.

Pour lancer l'enregistreur de macro sous Excel : Outils, Macros, Nouvelle
macro, et valider.
Tout ce que tu effectues manuellement est alors enregistré.
Reviens si besoin.

--
Bien amicordialement,
P. Bastard

Bonjour,

Pour accelerer mes traitements, j'aimerais creer un filtre sur une
colonne.
J'ai développé une application VB.net qui ouvre un fichier excel,
fait ses traitements, renseigne une base SQL, créé des fichiers
propriétaires et enregistre les modifications sous un nouveaux
fichier excel.
Et malheuresement tout cela est très là car pour commencer je
parcours mon tableau excel avec des boucles., Alors pour optimiser
cela j'aimerais utiliser des filtres pour me permettre de traiter
uniquement la partie du tableau qui m'interresse..
Oui mais voilà, la documentation de la PIA excel est très mal faite
et ne comporte que très peu d'information sur l'utilisation des
membres des classes excel.

J'ai trouvé ceci :

Excel.autofilter, il semble qu'il permette de creer des filtres.

Comment le creer ? comment lui donner les critères de "filtrage" ?

Merci d'avance pour vos réponses.


Avatar
Clément Marcotte
Bonjour,

Je ne l'ai jamais fait avec VB.net et ADO.net, mais, avec VB6 et ADO, il y a
moyen d'extraire des données d'un classeur Excel. Je suppose que c'est
encore possible avec la "nouvelle technologie".


"AlexC" <Alexandre.#NOSPAM# a écrit dans le message de
news:
Bonjour,

Pour accelerer mes traitements, j'aimerais creer un filtre sur une
colonne.

J'ai développé une application VB.net qui ouvre un fichier excel, fait ses
traitements, renseigne une base SQL, créé des fichiers propriétaires et
enregistre les modifications sous un nouveaux fichier excel.

Et malheuresement tout cela est très là car pour commencer je parcours mon
tableau excel avec des boucles., Alors pour optimiser cela j'aimerais
utiliser des filtres pour me permettre de traiter uniquement la partie du
tableau qui m'interresse..
Oui mais voilà, la documentation de la PIA excel est très mal faite et ne
comporte que très peu d'information sur l'utilisation des membres des
classes excel.

J'ai trouvé ceci :

Excel.autofilter, il semble qu'il permette de creer des filtres.

Comment le creer ? comment lui donner les critères de "filtrage" ?

Merci d'avance pour vos réponses.



Avatar
AlexC
Merci tous les deux pour vos réponses.

J'ai trouvé comment faire je vous post donc la solution au cas ou cela
pourrais aider d'autres personnes :

Dim Feuille As Excel.Worksheet
Dim NumColonne as Integer
Feuille .AutoFilter.Range.AutoFilter(NumColonne, "MONCRITERE",
Excel.XlAutoFilterOperator.xlAnd)
Avatar
Patrick BASTARD
Bonjour, *AlexC*

J'en suis heureux pour toi...

...Et merci du retour.

--
Bien amicordialement,
P. Bastard



Merci tous les deux pour vos réponses.

J'ai trouvé comment faire je vous post donc la solution au cas ou cela
pourrais aider d'autres personnes :

Dim Feuille As Excel.Worksheet
Dim NumColonne as Integer
Feuille .AutoFilter.Range.AutoFilter(NumColonne, "MONCRITERE",
Excel.XlAutoFilterOperator.xlAnd)