XL 2019 Filtre avancé en VBA

Amilo

XLDnaute Accro
Bonjour à tous,

Je permet d'ouvrir un nouveau fil concernant un sujet dans lequel j'ai pu avancer grâce à l'aide de @cp4 et de @mapomme que je remercie
Dans le fichier en pièce jointe, j'ai fait un mixte des codes que j'ai récupérés sous :
- ce fil (code de cp4)
- et ce fil (code de mapomme)
Peut-être qu'il y a mieux pour mixer les 2 codes mais le résultat correspond à celui que je souhaitais pour la 1ère partie.

Concernant la 2ème et dernière partie, le problème est de taille, à savoir que dans l'onglet "Résultat" :
-les informations indiquées dans les colonnes D:F ne suivent pas la ligne pour laquelle elles ont été saisies.
-Par exemple, lorsque je supprime la "Réf" 11 dans l'onglet "Critères", les informations de la colonne D:F de "Résultat" ne correspondent plus.
-En remettant la "Réf" 11 dans les critères, cela reprend les informations sur les bonnes lignes.

Dans ce nouveau fichier, j'ai intégré une colonne de valeurs uniques qui pourraient peut être permettre à résoudre ce problème.

En vous remerciant par avance

Cordialement
 

Pièces jointes

  • Filtre avancé_V2.xlsm
    26.5 KB · Affichages: 7

cp4

XLDnaute Barbatruc
Bonjour,

Tu devrais mettre tes commentaires dans la feuille Source. et tu n'auras plus ce problème.
As-tu compris qu'à chaque exécution du code selon tes critères les données A à B seront effacer et remplacer par d'autres lignes.

Bonne journée.
 

Amilo

XLDnaute Accro
Bonjour @cp4 ,
Merci pour votre réponse,
Effectivement, @fanfan38 m'avait également suggéré cette solution.
Je transmettrai en fin de soirée un nouveau fichier en intégrant les colonnes supplémentaires dans la feuille "Source"
Et en y ajoutant un bouton "Contrôle de formulaire" pour filtrer la liste sur place (25000 lignes env.) donc dans la même feuille "Source". Normalement, je devrais arriver à trouver le code pour cela.

Le résultat devrait me donner env. 1 000 lignes,
Il sera ainsi tout aussi facile d'ajouter des commentaires dans une liste filtrée d'env. 1 000 lignes que 25 000 lignes.

A la base, l'objectif d'une nouvelle plage sur une autre feuille était de travailler sur une plage réduite.

Sinon, je posterai le fichier pour d'éventuelles améliorations si vous voulez bien.

As-tu compris qu'à chaque exécution du code selon tes critères les données A à B seront effacer et remplacer par d'autres lignes.
Concernant votre remarque ci-dessus, je comprends que les données A,B et C de la feuille "Résultat" sont remplacées selon les critères.
Sinon, je ne vois pas où vous voulez en venir.

En vous remerciant par avance

Cordialement
 

cp4

XLDnaute Barbatruc
Il sera ainsi tout aussi facile d'ajouter des commentaires dans une liste filtrée d'env. 1 000 lignes que 25 000 lignes.
Transforme ta plage de données en Tableau Structuré et tu pourras faire tes filtrages très facilement pour ajouter tes commentaires. Une petite cherche sur Google te donnera tout ce qu'il te faut.
Un exemple ci-dessous:
1711641418567.png
 

Amilo

XLDnaute Accro
Bonsoir à tous,

Je reviens sur ce fil après avoir longuement "cogité" sur le problème.
Finalement, je partirais bien sur un tableau structuré comme préconisé par notamment @cp4
Je me suis aussi, rendu compte que je m'étais un peu éloigné de la réalité et reviens avec un tableau légèrement remanié.
J'ai mis toutes les explications dans le fichier avec les difficultés que je pourrais rencontrer dans cette tâche.

En espérant avoir été clair et en vous remerciant d'avance pour votre aide

Cordialement
 

Pièces jointes

  • Filtre avancé_V3.xlsm
    72.3 KB · Affichages: 2

cp4

XLDnaute Barbatruc
Bonsoir à tous,

Je reviens sur ce fil après avoir longuement "cogité" sur le problème.
Finalement, je partirais bien sur un tableau structuré comme préconisé par notamment @cp4
Je me suis aussi, rendu compte que je m'étais un peu éloigné de la réalité et reviens avec un tableau légèrement remanié.
J'ai mis toutes les explications dans le fichier avec les difficultés que je pourrais rencontrer dans cette tâche.

En espérant avoir été clair et en vous remerciant d'avance pour votre aide

Cordialement
Bonjour,

Tu fais les mêmes erreurs que moi à mes débuts. En effet, tu crois dur comme fer que ton idée est la seule solution de ton problème.
Explique-nous ce que tu veux faire finalement. Tu t'es lancé dans les filtres avancés alors que ton problème pourrait se résoudre autrement et plus simplement.

Bonne journée.

edit: ci-joint une proposition à voir si ça te convient pour aller plus loin.
 

Pièces jointes

  • Filtre avancé_V4.xlsm
    83.3 KB · Affichages: 2
Dernière édition:

Amilo

XLDnaute Accro
Bonjour @cp4 et merci pour votre message,

En effet, tu crois dur comme fer que ton idée est la seule solution de ton problème.
Ce n'est pas trop mon genre mais je comprends que les échanges écrits l'ont probablement laissé paraître. ;)

Le problème est effectivement que je n'ai pas indiqué d'emblée la finalité en me disant que c'est un projet lourd qui pourrait vite décourager
Je me mets à la place des aidants qui pourraient penser qu'ils ne sont pas là pour de telles demandes.
Aussi, j'essaye d'avancer pas à pas alors que d'exposer clairement la finalité aurait été plus judicieux,
Les fichiers exemples présentés ne sont plus que sommaires et généralement je réussi très souvent à adapter les solutions à mes fichiers réels qui sont assez différents.

Le plus gros du travail restait encore à faire et selon moi le plus compliqué.
Ne maîtrisant pas VBA, je pensais le faire avec Power Query.
La finalité du travail est de présenter des écritures comptables selon un schéma et un Template bien particulier et ceci afin de les transférer automatiquement dans l'ERP.

Si cela dit à certains je peux revenir avec un autre fichier plus parlant, proche de la réalité et surtout proche de la réalité:).

Cordialement
 

cp4

XLDnaute Barbatruc
Ce n'est pas trop mon genre mais je comprends que les échanges écrits l'ont probablement laissé paraître.
Tant mieux. Mais en constatant que l'ouverture d'une nouvelle discussion avec la même idée (AdvancedFilter), on peut le penser.
Cependant, Tu ne m'as pas fait un retour par rapport au fichier joint.
Si cela dit à certains je peux revenir avec un autre fichier plus parlant, proche de la réalité et surtout proche de la réalité:).
C’est préférable d’autant plus que tu dis ne pas maitriser le vba. Tu auras des problèmes pour adapter les codes proposés à ton véritable fichier. Et, du coup double perte de temps pour les contributeurs et le demandeur.

A+
 

Amilo

XLDnaute Accro
Merci @cp4 ,
Je viens de voir à l'instant votre fichier.
Je le regarderai attentivent dans la journée.
Je présenterai également un autre fichier avec le résultat final attendu pour les Vbistes.
Concernant mon niveau VBA bien que faible, j'arrive avec bcp d'abnégation à reproduire sur mon fichier réel, ça me permet de comprendre en même temps le code. Mais je vais essayer d'épargner ce travail à tous. 😊
Merci
Cordialement
 
Dernière édition:

Amilo

XLDnaute Accro
Bonjour à tous,

Comme annoncé, je reviens avec un nouveau fichier correspondant à la structure réelle mais avec des données fictives.
L'onglet "Source" comprend les données exportées de l'ERP et collées tous les mois les une en dessous des autres (colonnes A:M).
Les colonnes (N:Q) sont complétées manuellement au fur et à mesure des réceptions de factures de la part des différents fournisseurs.
Sur l'ensemble des fournisseurs indiqués dans ce tableau, nous gérons un certain nombre dont le périmètre est fixe à savoir dans cet exemple les noms de fournisseurs : D,E,F,G,H,J,T
Peut-être que nous aurons la possibilité un jour, d'exporter uniquement les fournisseurs de notre périmètre depuis l'ERP.

Pour l'instant, l'idée était de filtrer de préférence à partir d'un Slicer puis de compléter les informations manuellement.
Je pensais également à un "ToggleBouton" pour Masquer/Afficher le tableau selon les comptes fournisseurs indiqués dans l'onglet "Critères".
Mais peut-être qu'il ferait double emploi avec le Slicer et serait finalement inutile !

Enfin, la 2ème partie du projet que je voulais faire via Power Query est beaucoup plus compliquée.
La structure des écritures se trouve dans l'onglet de même nom.
Chaque en-tête de colonne indique un commentaire pour davantage d'explications

Donc toutes les factures réceptionnées sont transcrites manuellement dans la table de l'onglet "Source"
Cette table est ensuite transformée en écritures comptables selon les informations de la table "Source" mais également selon les tables de correspondance de l'onglet "Critères".
Les transformations sont nombreuses et complexes.

P.S : @cp4 , merci pour votre dernier fichier, l'idée du bouton Formulaire est sympa mais trop élaboré et complexe pour que je puisse faire la maintenance un jour en cas de problème
J'aurais voulu rester sur une proposition semblable au Slicer

Merci par avance

Cordialement
 
Dernière édition:

cp4

XLDnaute Barbatruc
Bonjour,

@Amilo: Comment as-tu obtenu le résultat de la feuille "Ecritures"? Les dates sur cette feuille ne sont pas des dates. Je n'ai pas bien compris les tenants et aboutissants de ta démarche. Ensuite, tu nous imposes une marche à suivre qui pourrait peut-être solutionner ton problème avec complexité.
à un même problème, il peut y avoir différentes méthodes pour arriver à ses fins en VBA.
Je passe la main.

Bon week-end.
 

Amilo

XLDnaute Accro
Bonjour @cp4
Merci pour votre message,
Les dates au format jj/mm/aaaa ne sont pas acceptées par le ERP, elles sont donc mises au format jjmmaaaa
Pour la 2ème partie, j'avais prévenu que cela serait compliqué et décourageant car très long à mettre en oeuvre.
Mais pas de souci,
Et merci encore pour votre intérêt et votre aide sur la 1ère partie.

Bon Week-end
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
306

Statistiques des forums

Discussions
312 207
Messages
2 086 248
Membres
103 164
dernier inscrit
axelheili2