Excel est très pratique et flexible, ce qui l’amène parfois à être utilisé comme une base de données. C’est à dire à stocker dans une ou plusieurs feuilles toutes les données afin de faire des formules pour pré-calculer les données et créer les consolidations nécessaires. Cependant même si Excel peut très bien faire ce travail, ce n’est pas conseillé de le faire, notamment parce que ce n’est pas sa vocation et certaines fonctionnalités importantes d’une base de données ne peuvent pas être mises en place avec Excel.
Nous allons voir dans cet article les différentes raisons de ne pas utiliser Excel comme une base de données en insistant sur les limites d’un tel système et les conséquences que cela peut avoir.
Afin de pouvoir garantir la pérennité du système et son évolution, il est préférable d’envisager d’utiliser une vrai base de donnée sur laquelle Excel pourrait s’appuyer pour récupérer un jeu de données et le manipuler rapidement pour une analyse, ce qui correspond à sa vrai mission.
Le problème des gros volumes de données
Excel est souvent utilisé comme base de données en mettant chaque table dans un onglet différent avec une mise sous forme de tableau.
Mais en étant éxécuté sur un ordinateur aux performances moyennes (et pas sur une machine serveur), Excel dispose de capacités limitées pour gérer de gros volumes de données de plusieurs millions de lignes. D’ailleurs, dans Excel 2007 et plus, la limite du nombre de lignes est d’environ 1 000 000 lignes. De plus, Excel fonctionne en faisant appelle à un montant relativement important de mémoire vive pour son interface graphique, ce qui n’en fait pas un outil optimisé pour les gros volumes de données
Un système de sauvegarde trop basique
Comme nous venons de le dire, Excel utilise beaucoup la mémoire vive. Si Excel plante ou est interrompu pendant un calcul, toutes les modifications peuvent être perdues. Il n’y a une sauvegarde automatique qu’à des intervalles de temps réguliers, mais pas après chaque opération.
Le poids des liens entre les données
Excel permet de faire des liens entre les tables en utilisant des références et des fonctions comme recherchev(). Cependant quand ces fonctions sont trop utilisées elles utilisent trop de mémoire vive et ralentissent Excel. Ce problème pourrait être contourné en passant par du VBA pour moins solliciter la mémoire vive et enregistrer les opérations en dur, mais la mise en place d’un tel système peut vite s’avérer complexe et difficile à maintenir.
Aucune d’intégrité référentielle
La mission d’une base de donnée est de garantir sa cohérence et notamment ce qu’on appelle l’intégrité référentielle. Pour cela, des contrôles automatiques sont faits à chaque opération pour éviter des conflits. Ainsi, la suppression d’une donnée ne sera pas effectuée si elle est encore liée à d’autres données. Ce que ne garantit pas Excel où une erreur involontaire ou non (par exemple suppression d’une ligne/colonne) peut décaler, voire casser des formules. Et plus le fichier évolue et grandit, plus il y a de risques que cela arrive (alors que paradoxalement, les erreurs dans la base de données sont moins tolérables).