Liaison VBA et base de données

bonsoir,

j'ai une question concernant la liaison entre le VBA et une base des données , peut on utiliser excel comme étant une base de données ou bien il faut intégrer un Système de gestion de base des donnés (SGBD) sachant que l'application VBA n'est pas Multi-utilisateur, c'est mono-utilisateur .

bonjour

combien de tables de données auras-tu ?

que veux-tu gérer ? factures, ventres, école, bibliothèque...

Excel peut convenir pour 2 ou 3 tables liées simples, mais il vaut mieux un SGBD au-delà

exemple ici, sans VBA

https://forum.excel-pratique.com/viewtopic.php?f=3&t=115533

note : le plus difficile est de conserver l'intégrité référentielle. Avec ou sans VBA.

amitiés

peut on utiliser excel comme étant une base de données ou bien il faut intégrer un Système de gestion de base des donnés (SGBD) sachant que l'application VBA n'est pas Multi-utilisateur, c'est mono-utilisateur .

Tout d'abord, une rectification : ce n'est pas VBA qui est mono_utilisateur mais par défaut le classeur Excel.

Il n'est donc pas naturellement simple d'utiliser un classeur Excel en multi-utilisateur et si c'est possible, mieux vaut s'orienter vers un SGBD Access.

Si l'on veut rester en Excel, la meilleure solution est alors de jouer sur 2 classeurs :

  • un premier classeur partagé ne contenant que le code, les formulaires et les tableaux dynamiques
  • un deuxième classeur non partagé ne contenant que les données.
Le deuxième classeur est en lecture par défaut et c'est le code qui gère son accès en mise à jour . L' accès en mise à jour est donné au premier utilisateur qui le demande, les autres étant mis en attente jusqu'à ce que le premier utilisateur ait terminé sa mise à jour.

d'accord , en fait j'ai fait hier des recherches et j'ai trouver la notion "PowerPivot" qui est une technologie de modélisation des données et qui permet d’établir des relations entre differentes tables .

mon application est développé en VBA et ma question est ce que on peut faire une liaison entre VBA et PowerPivot ou pas ?

PowerPivot est d'abord un outil d'analyse permettant de produire des indicateurs et des tableaux de bord.

Si vous voulez manipuler des tables dans votre application VBA, il vaut mieux d'abord utiliser PowerQuery.

Une table pour PowerQuery ou PowerPivot est dans votre application VBA, obligatoirement un tableau structuré (= ListObject).

Rappel:

1- création d'un tableau structuré : menu Insertion --> bouton Tableau

2- modification tableau structuré : cliquer sur n'importe quelle cellule du tableau et cliquer ensuite sur le bouton "Outils de Tableau" apparaissant en haut à droite de la fenêtre.

Rechercher des sujets similaires à "liaison vba base donnees"