Refonte base de données, need retour d'expérience

Bonjour,

Dans le cadre de mon alternance, je travail actuellement sur 2 bases de données très "sales" et ne répondant que partiellement à mes besoins et à ceux de mon service. J'envisage de refaire ces bases de manière totalement différente, tellement qu'il me semble plus simple de partir d'un fichier Excel vierge. Je compte également ajouter des liens entre les futures bases et de nouvelles fonctionnalités grâce à VBA.

Je suis bien décidé à y parvenir! Seulement, par manque d'expérience, je m'interroge quant à la manière la plus efficiente de procéder.

Par exemple : une fois les "maquettes" de mes nouvelles bases crées, faut il d'abord intégrer les données des anciennes bases ou s'attaquer directement aux formules/liaison sur mes base vierges?

Vos retours d'expériences et autres tips si vous en avez me seraient d'une grande utilité !

D'avance merci,

Adrian

Bonjour,

Les règles d'or pour parfaitement gérer vos données sur Excel (adaptation d'après G.Mourmant) :

Règle 0 - Utiliser les tableaux d'Excel

Règle 1 – Une feuille = une table de données et surtout rien d’autre

Règle 2 – Dans la première ligne : uniquement et seulement les titres de colonnes

Règle 3 – Pas de cellules vides dans les titres de colonnes

Règle 4 – Pas de doublons dans les titres de colonnes

Règle 5 – Une clef primaire dans la première colonne

Règle 6 – Pas de lignes et colonnes vides

Règle 7 – Ne pas ajouter de totaux, sous-totaux et calculs intermédiaires

Règle 8 – Utiliser les filtres automatiques

Règle 9 – Éviter d’avoir plusieurs colonnes pour une même dimension

Règle 10 – Positionner les données numériques et les calculs dans la partie droite de la table

Règle 11 – Ne pas transformer votre tableau en Sapin de Noël (éviter les format inutiles...)

Règle 12 – N’utiliser qu’une seule formule par colonne

Règle 13 – Utiliser l’outil de validation des données

Après... Si tu utilises VBA les formules et les liens ne sont pas vraiment nécessaires dans une BD : C'est l'exploitation de ces données qui peut nécessiter des formules plus ou moins complexes si tu dois effectuer certains calculs dans des tableaux annexes...

Mais là encore -surtout sur les très grandes BD- VBA devrait permettre de minimiser au maximum les formules :

Il y a des formules qui une fois qu'elles ont été calculées une fois, n'ont plus aucun sens...

Une facture par exemple : Une fois calculée. Il est inutile d'en conserver les formules... (ni les liens !)

Il en va de même pour les recettes et dépenses de ces dernières années, les notes, moyennes et classement de toute l'école sur les 10 dernières années... et de nombreuses autres données que chacun pourrait alléger considérablement une fois calculées...

A+

Bonjour,

Merci Galopin pour ces conseils!

En réalité il ne s'agit pas uniquement de base de données mais également d'outil de suivi. L'outil juridique par exemple contient des informations statiques sur les clients (porteur) et les contrats (convention) . Mais il sert également au suivi des échéances et des délais.

Au départ, toutes ces informations étaient regroupées sur un seul onglet, rendant la lecture très difficile. J'ai donc éclater le fichier en plusieurs tableau pour le rendre plus lisible. J'ai utilisé des clés pour chaque tableau.

Cependant je rencontre un problème. Si je veux par exemple faire une note indiquant quel Porteur à le plus long délai de signature, comment puis-je exploiter mon Fichier ainsi découpé?

Merci d'avance pour votre aide,

Bonjour,

Heu... Tout d'abord, bien qu'un porteur puisse être considéré comme unique il est bon de lui attribuer dès le départ une clef numérique, même si pour l'instant tu n'en vois pas l'intérêt immédiat. En effet il n'est pas exclu qu'un jour ou l'autre tu n'ai pas 2 DUPONT, 2 DURAND ou 2 MARTIN...

De plus les clefs numériques offrent de nombreux avantages en programmation ne serait-ce que celle de pouvoir être incrémentées de 1 pour créer le prochain enregistrement...

Avec Excel tu n'as pas intérêt à trop fragmenter ton fichier. Autant c'est la base de travail d'ACCESS, autant ça complique les choses avec Excel et à moins d'être un maître dans l'art de la programmation, il est plutôt recommandé de rester modéré dans l'éclatement des données...

Pour une association, un club ou une entreprise, il est fréquent de créer un liste de clients avec leur état civil, et leurs coordonnées,

Un suivi financier de leurs achats ou de leurs paiements. Dans ce cas c'est le N° d'index du client ou de l'adhérent qui fait le joint entre le N° de tel du client et son achat...

Si le client achète plusieurs produits les N° d'index client et celui d'index produits te permettent d'établir un lien sans équivoque

Enfin les index produits, peuvent permettre une gestion de stocks.

Après si tu veux faire un état des cotisations pour une période donnée, ou comparer les ventes de ski en Bretagne ou dans la Région Parisienne, il est probable que tu devras générer des extractions bien plus complexes. Soit par formules, soit par VBA si tu maîtrises suffisamment... Si tu as segmenté ta base de donnée en 90 départements, tu auras beaucoup plus de difficulté à la gérer que si tu as une base de donnée nationale...

Bref TOUSSA pour dire que je ne suit pas certain que ton découpage soit pertinent... (Je ne suis pas suffisamment imprégné de ton contexte pour en juger). Si d'autres intervenants ont une vision claire ils peuvent se manifester !

Une convention et ses avenants doivent-ils être gérés sur plusieurs feuilles différentes je n'en suis pas certains. (Un même N°SI peut-il pointer sur plusieurs avenants ?

De manière empirique je dirais Oui si une convention peut générer plusieurs avenants qui doivent être gérés séparément, sinon il est sans doute préférable de tout gérer sur le même tableau...

Je ne peux pas répondre à ta question sur le délai de signature : Quel délai ?

De quel date : (Feuille/Colonne) à quelle autre date (Feuille/Colonne) Il faut être plus précise dans ta manière de poser les questions. Et puis également donner un peu plus de grain à moudre : En dehors de la feuille convention les autres feuilles sont quasiment vides. Avec ça même si je comprenais d'où je dois extraire des délais, je ne pourrais pas te dire grand chose sur les délais des uns ou des autres... Truc, Muche ou Bidule ne me pose pas de problème mais si en plus je dois générer des données bidons on risque fort de ne pas se comprendre...

A+

Bonsoir Galopin,

Tout d'abord merci pour ta réponse très instructive!

Effectivement je ne voyais pas l'intérêt d'une clés pour les porteurs, maintenant si et je l'ajouterai.

En y réfléchissant et grâce à tes conseils, j'ai décidé de placer toute les données sur une même feuille. Je me suis rendu compte que ma volonté de séparer les feuilles était uniquement dû à ma conception ergonomique de la base (je trouve les grosses bases de données trop "lourdes" et difficilement lisibles). Je n'avais pas pris en comptes les difficultés que cela entrainait pour exploiter les données.

J'essaye de régler ce "problème" d'ergonomie ou de lisibilité avec des macros permettant d'afficher/masquer rapidement tout ou partie de ma base.

Du coup mes questions précédentes (qui manquait pas mal de précision je vous l'accorde) ne sont plus d'actualité, contrairement au retour d'expérience

Merci beaucoup!

Bonjour,

Au pire si tu as beaucoup de colonnes tu peux te créer une feuille de saisie/affichage pour améliorer la lecture.

Ou avec un Userform, personnellement je trouve qu'une feuille est souvent suffisante en plus que ce soit plus simple.

eric

Bonjour eriiic,

Ton idée de feuille de saisie m'intéresse, j'avais pensé à un formulaire pour la saisie de donnée mais je risque de mettre pas mal de temps pour le créer. Par contre j'ai du mal à visualiser le rendu. Aurais-tu un fichier que je puisse prendre en exemple?

Bien cordialement

Bonjour,

Non, pas d'exemple et là je suis plutôt dans les valises.

Le rendu c'est à toi de le faire selon l'ergonomie souhaitée.

Si tu as 43 champs tu les répartis sur une feuille en les regroupant par type ou thème.

Ca évite le scroll horizontal plus ch... que le vertical et ça n'empêche pas la saisie directe dans la base en cas de besoin.

Avec des boutons Rechercher, Vider, Supprimer et Enregistrer pour mettre à jour ou compléter ta base.

eric

Re,

C'est pas tant l'ergonomie qui m'intéressait mais le fonctionnement en pratique. Je comprends mieux désormais, des macros associés à des boutons permettent d'ajouter les données saisies à la base principale. J'aime beaucoup !

Nairda

Bonjour,

Tu n'as pas besoin d'une feuille spécifique : Tu peux très bien travailler sur ta base actuelle dans la mesure ou tu l'as déjà organisée par type de "sujet"

Si tu travailles sur les conventions tu restreins juste la visibilité aux champs ad-hoc.

Si tu travailles sur les échéances ou les délais tu modifies la visibilité. Mais pas avec tes couleurs hein... Les Arrays suffisent bien !

Tu gardes tes couleurs pour toi (pour une approche visuelle de ton tableau).

Cette méthode convient très bien si on arrive à tout afficher dans un écran. Sinon ça devient suant...

Si tu veux suivre la suggestion d'Eric c'est pas bien difficile d'imaginer le rendu... Ça peut être exactement le même que dans un Userform !

Je ne suis pas trop favorable à cette méthode : Elle offre un peu les mêmes inconvénients que les USerforms (une certaine lourdeur de la programmation) sans en offrir vraiment les avantages. (la richesse des possibilités)

Mais bien sur cette notion de lourdeur est toute relative ça dépend ou tu mets le curseur.

En fin de compte, tout dépend de ton niveau d'expertise et de ton exigence de rapidité de résultats... (Le programmeur stagiaire n'a pas le même point de vue que le courtier qui veut valoriser rapidement son investissement temps)

A+

Bonjour galopin,

Pour la visibilité avec des boutons afficher/masquer les Arrays ont une limite : ils ne permettent pas d'ajouter des colonnes sans modifier le code. Cette base de données étant destiné à des utilisateurs ne connaissant pas VBA, il s'agit de leur simplifier la tâche au maximum (d'où le choix des couleurs qui semble parfaitement adapté à ma problématique).

Pour la suggestion d'Eric, elle me plait dans la mesure ou elle est plus facile à mettre en oeuvre qu'un Userform (si tel est le cas évidemment).

Après, cette refonte des outils est aussi l'occasion pour moi de découvrir VBA et les possibilités qu'il offre. Le but n'est pas de devenir expert ni développeur, mais d'avoir un bagage suffisant pour comprendre la plupart des codes que je pourrais rencontrer dans mes futurs jobs. Dans cet optique, il serait peut-être judicieux de me confronter à la création d'un Userform! Je verrais ça le moment venu

Bien cordialement,

Ci-joint la nouvelle version de la base

27test-ju.xlsm (35.79 Ko)
Rechercher des sujets similaires à "refonte base donnees need retour experience"