¨ Dépannage-Maintenance-Formation-Informatique Astuce info , Gérer une base de données avec Excel ?
Gérer une base de données avec Excel est ce vraiment pertinent et raisonnable ?
Auteur : Frédéric Hourdeau Catégorie : Articles Thème : Logiciel Office - Base de donnée
Sans programmation, Excel vous permet de gérer des listes de toutes sortes, d’y rechercher des données et d’en extraire des statistiques mais on se trouve rapidement limité
Vous devez gérer un fichier (liste de relations, clients, fournisseurs inventaires divers… ? Pour cela, vous avez deux possibilités :
- Soit vous installez un logiciel de gestion de base de données (un SGBD) comme Access. Ceci étant, un tel programme a un coût en termes d’acquisition et de temps pour le maîtriser car pas forcément facile à utiliser.
-L’autre solution consiste à utiliser un tableur aussi répandu qu’Excel.
Ce dernier, en effet, possède de nombreuses fonctions vous permettant de saisir ou de modifier des données dans une ensemble, d’en extraire des informations selon une multitude de critères, d’obtenir des données chiffrées sur la totalité ou une partie de la base.
Mais que devez-vous faire pour transformer un tableau Excel en une base de données ?
C’est simple : rien ! En effet, toute liste de données est automatiquement considérée comme une base à condition qu’elle respecte quelques règles simples.
Il n’en reste pas moins qu’Excel présente plusieurs limites :
Excel n’est pas un “ vrai ” gestionnaire de bases de données. S’il convient parfaitement pour des collections de taille moyenne, il présente néanmoins quelques lacunes et limites qui lui interdisent la gestion de bases professionnelles importantes:
- Nombre de fiches limité.
Bien qu’il soit théoriquement possible de saisir des données dans toutes les lignes d’une feuille de calcul (plus d’un million avec Excel 2007 !), il serait déraisonnable de dépasser quelques dizaines de milliers de fiches (une fiche correspond à une ligne). En effet, Excel travaille en mémoire vive, à la différence des vrais SGBD. Au plus petit bug ou à la moindre coupure de courant, toutes vos modifications seraient perdues.
( Les sauvegardes régulière sont obligatoire pour ne perdre vos données)
- Contrôle de saisie rudimentaire.
Excel vous permet de vérifier les données saisies par les utilisateurs. Mais ce contrôle reste assez sommaire. Un SGBD va beaucoup plus loin.
- Une seule table.
Excel n’est pas fait pour gérer les bases composées de plusieurs tables (par exemple Clients, Factures, Stock...). En fait, vous pourriez y parvenir partiellement avec des procédures lourdes et complexes mais votre base deviendrait trop lourde.
- Pas d’intégrité référentielle.
Un SGBD offre l’intégrité référentielle s’il interdit la suppression d’une fiche qui possède encore des liens avec des fiches présentes dans d’autres tables. Pour prendre un exemple : on ne peut pas supprimer un client s’il reste des factures à son nom. La suppression d’une fiche, dans Excel, ne donne lieu à aucune vérification de cohérence.
Pour toutes ces raisons la gestion de bases de données professionnelles passe plutôt par Access.
Access, un outil performant pour la plupart des PME.
Microsoft Access est un système de gestion de bases de données (SGBD) relationnel (voir notre article consacré aux SGBD) édité par Microsoft. Il fait partie du pack bureautique MS Office Pro.
MS Access est composé de plusieurs programmes :
Le moteur de base de données Microsoft Jet, un éditeur graphique, une interface de type Query By Example pour manipuler les bases de données, et le langage de programmation Visual Basic for Applications.
PMS Access utilise des fichiers au format Access (extension de fichier mdb pour Microsoft DataBase (extension .accdb depuis la version 2007).
Il est compatible avec les requêtes SQL (1) (sous certaines restrictions) et dispose d'une interface graphique pour saisir les requêtes (QBE - Query By Example - Requête par l'exemple).
Il permet aussi de configurer, avec des assistants ou librement, des formulaires et sous-formulaires de saisie, des états imprimables (avec regroupements de données selon divers critères et des totalisations, sous-totalisations, conditionnelles ou non), des pages html liées aux données d'une base, des macros et des modules VBA.
Comme beaucoup de systèmes de gestion de bases de données relationnelles, ses données peuvent être utilisées dans des programmes écrits dans divers langages.
Les langages couramment utilisés avec Access sont le Visual Basic for Application (VBA) et les langages qui disposent de modules d'accès aux données pour les fichiers .mdb : Delphi de Borland, Visual Basic, C++ sous Visual Studio de Microsoft par exemple.
VBA, intégré à Access comme à toutes les applications de la suite Microsoft Office, permet de créer des applications de gestion complètes, livrées avec un programme d'installation qui gère automatiquement la mise en place éventuelle d'un runtime (moteur d’exécution) d'Access, et dont le code source est protégé dans une version semi-exécutable des fichiers (mde).
A noter que dans la mesure où il n'a pas besoin de service serveur comme MySQL, Oracle, PostgreSQL…, Access est très simple à déployer.
D'après Microsoft, MS Access supporterait des configurations jusqu’à 255 postes. Mais en pratique, pour une utilisation confortable, MS Access parait limité à une vingtaine d'utilisateurs simultanés, les échanges réseaux étant 10 à 20 fois plus gourmands en ressources qu'avec Microsoft SQL Server par exemple
Le confort d'utilisation de MS Access en réseau peut-être considérablement accru quand on utilise judicieusement les requêtes de type Snapshot (lecture seule, modifications ultérieures non visibles) et les requêtes de type Dynaset (lecture-écriture) qui sont beaucoup plus gourmandes en ressources réseau. Ces perfectionnements ne permettent pas de dépasser pratiquement une quarantaine d'utilisateurs en simultané. On notera que ces caractéristiques conviennent largement à la plupart des petites et moyennes entreprises.
D'un point de vue concret Access (avec ses versions 2000 à 2003) convient bien à des applications faisant intervenir jusqu’à une centaine de tables (principales et de jointures / relations) avec un maximum pratique de 100 000 enregistrements pour les tables principales et de 1 000 000 d’enregistrements pour les tables de liaisons ou de relations.
En pratique la taille maximum d'une base Access 2003 est de 2Go.
Pour une utilisation de plus grande envergure, il peut servir de client pour un serveur de bases de données (comme SQL Server, Oracle, MySQL, etc.) via ODBC ou OLE DB.
Si Access est limité en nombre d'utilisateurs, il peut par contre gérer, sur de petits réseaux locaux de bonne qualité technique, des quantités d'informations qui vont bien au-delà des besoins de beaucoup de structures. Exemples : une comptabilité de PME sur un seul site, mais autorisant des consolidations de plusieurs sites autonomes.
Compatibilité-complémentarité Access/Excel
Les données d'Access sont facilement exploitables dans les publipostages de Word et les tableaux Excel. Réciproquement les feuilles de données d'Excel peuvent être « attachées », comme une des tables de la base de données ou importées ponctuellement dans une table Access.
Par le biais du langage de programmation VBA il est possible, depuis l'intérieur d'Access, de construire ou de modifier tout type de tableaux Excel, puis de traiter et transférer les informations adéquates de la base de données vers ce même tableur.
Les bases de données produites par Access restent accessibles à tous les langages de programmation qui permettent une connexion à une base ODBC, c'est le cas par exemple sous Java en se servant de la passerelle JDBC-ODBC d'Oracle.
Pour toutes ces raisons la gestion de bases de données professionnelles passe plutôt par Acess.
Pour toutes informations complémentaire vous pouvez nous contacter. Nous proposons des formations adaptés aux utilisateurs.
Formations pas à pas sur les différents outils de bureautique : Excel, Acess, ... (voir nos formations)
(1) Qu'appelle-t-on SQL?
SQL (Structured Query Language ou : Langage de requêtes structuré est un langage de définition de données (LDD, ou en anglais DDL Data Definition Language), un langage de manipulation de données (LMD, ou en anglais DML, Data Manipulation Language), et un langage de contrôle de données (LCD, ou en anglais DCL, Data Control Language), pour les bases de données relationnelles.
Le modèle relationnel a été inventé par E.F. Codd (Directeur de recherche du centre IBM de San José) en 1970, suite à quoi de nombreux langages ont fait leur apparition :
•IBM Sequel (Structured English Query Language) en 1977 •IBM Sequel/2•IBM System/R •IBM DB2
Ce sont ces langages qui ont donné naissance au standard SQL, normalisé en 1986 par l'ANSI pour donner SQL/86. Puis en 1989 la version SQL/89 a été approuvée. La norme SQL/92 a désormais pour nom SQL 2.
SQL est un langage de définition de données (LDD): il permet de créer des tables dans une base de données relationnelle, ainsi que d'en modifier ou en supprimer.
SQL est un langage de manipulation de données (LMD), cela signifie qu'il permet de sélectionner, insérer, modifier ou supprimer des données dans une table d'une base de données relationnelle.
SQL est un langage de protections d'accès :Il est possible avec SQL de définir des permissions au niveau des utilisateurs d'une base de données. On parle de DCL (Data Control Language).
Voir nos Articles :
Les Systèmes de gestion de base de données - 18/02/2013
Voir nos Astuces :
Excel : modifiez toutes les valeurs d'une colonne - 27/12/2012
Excel Partie 2 - Plage de référencement - 15/10/2012
Excel Partie 1 - Formule SOMME - 04/10/2012