Bon, je suis parti à te construire une maquette...
Je vois des formulaires pour la saisie des listes (fournisseurs, comptes, ventilations, entêtes factures, lignes factures), et une feuille automatisée pour afficher toutes les factures d'un fournisseur, d'un compte, d'une ventilation, etc...
Ce n'est pas que je n'aime pas les formulaires, au contraire, je les estime indispensables pour optimiser et sécuriser la saisie, d'une part, et d'autre part pour réaliser des opérations fines, impossibles à traiter avec les formules et les fonctionnalités de bases d'Excel.
Mais je suis prudent sur l'analyse du problème à traiter : le code VBA est à écrire, selon moi, pour automatiser ce qu'on a réussi à faire fonctionner "à plat", c'est-à-dire dans des listes correctement structurées, avec les bonnes formules, et après avoir exploré les tris, les filtres, les TCD, etc...
Tout ça parce que les modifications de structures sont très vite exécutées tant qu'on travaille dans des feuilles avec des formules, mais peuvent prendre un temps fou dès qu'il faut les reporter sur le code VBA, pour qu'elles apparaissent dans les formulaires et soient traitées correctement dans les feuilles...
Exemple : tes ventilations ont un code et un libellé. On peut mettre les 2 informations collées dans la même colonne, et fournir une liste déroulante pour la saisie. Mais si tu veux utiliser le code ailleurs, il faut séparer les deux. Ce choix est à faire au départ, car toute modification coûtera d'autant plus cher en temps qu'elle interviendra tard dans le développement...
Tu auras compris au passage que pour moi, le lieu de stockage, ce sont bien les listes, et que les formulaires ne vont afficher qu'une "vision" partielle et ponctuelle de leur contenu.
Je te propose une maquette dans l'après-midi, selon ma charge de travail...
Cordialement, Daniel