Insérer un filtre automatique dans Excel 2003 depuis VB.Net 2010 Interop [Résolu]

Signaler
-
 Fenflex -
Bonjour, je reviens avec mon application de pilotage d'Excel !

J'aimerai générer des filtres automatiques sur les colonnes de mon fichier Excel. Pour les paramètres du filtre j'aimerai vraiment obtenir la même chose que lorsqu'on ajoute manuellement un filtre auto dans Excel.

J'ai trouvé des exemples sur msdn mais c'est pour des filtres personnalisés.

Quelqu'un connaît t'il un moyen plus simple ?


Bonne journée

4 réponses

Messages postés
14673
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 avril 2020
140
Bonjour,

As-tu essayer d'enregistrer une macro sur Excel pour voir le code générer et essayer de le transformer pour .NET ?

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Bonjour !

Non je n'ai pas essayé. Je cherche vraiment à reproduire les filtres automatiques de base qu'on active directement en sélectionnant les colonnes, en allant dans Données/Filtrer/Filtre Automatique.

En fait je trouvais les choix de filtre renvoyés par l'outil automatique adaptés à mon besoin, d'où ma question, mes données peuvent varier et dans les exemples que j'ai trouvé les filtres sont déclarés au début ce qui me gène car je veux que le filtre soit dynamique.

En gros, j'ai des séries de véhicules, qui ne sont pas présentes à chaque fois dans les données et je veux qu'il soit possible de filtrer par série quand des véhicules de ladite série sont présents.

Maintenant, ce que tu me dis si je comprends bien, c'est de faire une macro VBA et de la transposer en VB.net ? Genre avec xl.objet à chaque fois ?

Et merci de ta réponse
Messages postés
14673
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
7 avril 2020
140
Bonjour,

En gros, tu as compris ce que j'ai dit, mais, tu verras peut être comment optimiser ensuite avec le code généré.

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Ok je vais regarder si je trouve la solution comme ça.

En attendant j'ai simplement crée un fichier avec les filtres déjà présent, et j'y envoie les données depuis VB.

Merci bien