Consultation d'une base de données
Bonjour à tous !
Je planche sur un projet intéressant de gestion de base de données.
Je vous explique brièvement : je souhaite automatiser des calculs de ratios financiers sur des entreprises, puis pouvoir les comparer avec les ratios médians de leur secteur d’activité respectifs.
J’ai abordé cette problématique de la manière suivante.
J’ai tout d’abord constitué un formulaire de saisie. Je rentre mes informations financières, puis grâce à une macro mes ratios financiers sont automatiquement calculés, puis toutes ces informations sont automatiquement sauvegarder dans un autre onglet, ce qui constituera ma base de données.
Ensuite, dans un autre onglet j’ai fait un formulaire de consultation. En tapant le numéro associé à une entreprise, je retrouve automatiquement tous mes ratios financiers et j’ai une comparaison avec les ratios médians de leur secteur d’activité. Pour l’obtenir j’ai utilisé la fonction rechercheV, bien pratique.
C’est là qu’arrive mon problème.
Il se peut que la même entreprise apparaisse plusieurs fois dans ma base de données, car plusieurs bilans comptables peuvent être disponibles et saisis (pour l’année 2010, l’année 2011…). Dans ce cas, ma fonction rechercheV ne me sort qu’une seule des années (j'imagine que c'est parce qu'elle ne prend qu'une variable en compte). Or je souhaiterais pouvoir récupérer plusieurs années et les comparer également
J’ai pensé utiliser les contrôles formulaires (avec 2 listes déroulantes, une pour le numéro de client et une pour l'année de mon bilan). Mais à terme ma base de données rassemblera BEAUCOUP d’entreprises, l’utilisation de liste déroulante n’est donc pas envisageable.
Est-ce quelqu’un connaitrait une composition de fonction qui pourrait me servir à résoudre ce problème ? Ou selon vous, est-il plus « simple » (et surtout possible) de passer par VBA ?
Vous pourrez trouver ci-joint une version simplifiée de mon doc qui pourrait aider à clarifier mes explications.
Merci d’avance !!
Bonjour,
une proposition en VBA...
personnellement, j'ai pensé qu'il serait sympa d'intégrer une liste pour l'affichage de la sélection de la cellule Date Bilan de la feuille Consultation. La macro se charge de la gestion de la liste et calcule les résultats pour Jour Débit Client et Jour Débit Fournisseur.
J'espère que c'est ce qu'il te fallait.
Bonsoir Game Over !
C'est exactement ce que je cherchais comme résultat !! Un grand merci !!
Par contre, vu que ce n'était qu'une version simplifiée, je souhaiterais mettre beaucoup plus de ratios financiers qui seront calculés avec ma macro dans mon formulaire de saisie.
Je m'y connais que très peu en VBA donc petite question... j'imagine qu'il me suffit juste de changer les plages de cellule sélectionnée dans la programmation VBA pour que ça marche ?
Je vais essayer de le bricoler par moi même (meilleure façon d'apprendre
Merci beaucoup pour ce service dans tous les cas !!
La seule condition de ton projet est que le nom du client et la date du bilan concordent sur tes feuilles consultation et BD... et ça, c'est déjà programmé. Il te suffira donc de compléter la partie suivante :
If bb = aa Then
Range("E21").FormulaLocal = "=SI(ESTVIDE(C7);"""";" & .Cells(i, 15) & ")"
Range("E22").FormulaLocal = "=SI(ESTVIDE(C7);"""";" & .Cells(i, 16) & ")"
End IfEn gros, pour chaque cellule de ta feuille consultation (cellule du type Range("adresse cellule dans Consultation").FormulaLocal) pour laquelle tu veux voir un résultat, on crée une formule qui dit que si la cellule C7 de la feuille consultation est vide alors on veut une cellule vide sinon on veut le résultat de la recherche.
Et ce résultat se trouve être la cellule cells(i, N°de colonne) de la feuille BD ou i représente le N° de ligne.
Autrement dit, il te suffira simplement de changer l'adresse qui se trouve entre "" pour la partie Range et le N° de colonne pour la partie .Cells correspondante.
Super !! Merci pour tes explications claires et pour le temps que tu as pris pour m'aider !!
Les possibilités avec VBA ont l'air géniales ! Je vais m'y intéresser de plus près.
Un grand merci encore !
Bonne soirée à toi.
Bonjour Game Over,
Je me permets de revenir vers toi car j'ai fait quelques modifications dans ma base données et sur mes ratios.
Suite à ces modifications, j'ai un problème dans mon formulaire de consultation. Il ne prend plus en compte les différentes années de bilan dans le menu déroulant.
Est ce que si je te renvois le document tu pourrais y jeter un coup d'œil et me dire ce qu'il ne va pas ? J'imagine que c'est que des petites modifications de "Range" à modifier au vu de mes modifications, mais je n'arrive pas à résoudre le problème.
Merci d'avance !
Le voici !
En bleu, des cellules nécessaires au bon fonctionnement de la macro... juste pour ton info.
Donc, ne pas les écraser : tu mettras la couleur de l'encre en blanc pour ces cellules pour ne pas qu'elles apparaissent.
juste pour info, les formules (pas les résultats !) affichées dans les cellules résultats semblent maintenant obsolètes, vu que le code a été modifié, mais cela n'affecte pas le résultat final.
Fichier à tester
Parfait je te remercie !
Au final je suis arrivé à bidouiller le premier fichier que tu m'avais envoyé et que j'avais modifié, et je ne sais pas par quel miracle, ça fonctionne.
J'ai quasiment terminé toutes mes modifications et le résultat final est vraiment super ! Merci encore pour ton aide !