📊 Gestion avancée de tables dans des tableaux structurés Excel (paramétrage, clients, commandes, etc)
Gerer-Tables-Parametrage est un outil Excel/VBA permettant de gérer des tables structurées réparties par onglet, avec un contrat d’interface centralisé, et des fonctions d’import/export CSV ainsi que la génération de requêtes SQL INSERT INTO.
Ce projet vise à offrir une manière fiable, cohérente et automatisée de manipuler des données tabulaires dans Excel.
Ce fichier peut être utilisé pour gérer des tables de paramétrages d'un projet ave la possibilité d'importer depuis des fichiers CSV le contenu des tables, de les exporter, de comparer un fichier CSV avec le contenu d'une table du fichier Excel.
- Création automatique des tables selon un contrat d’interface
- Vérification des colonnes et des formats
- Lecture d’un fichier CSV
- Vérification de la conformité avec le contrat
- Insertion des données dans la table cible
- Rapport d’erreurs (colonnes manquantes, formats incorrects)
- Export propre et conforme au contrat d'interface
- Gestion des séparateurs (point-virgule, tabulation, etc), des délimiteurs de texte, de l'encodage, des délimiteurs de lignes (CR/LF)
- Option d’inclure ou non les en‑têtes
- Génération automatique des requêtes
- Échappement des valeurs
- Gestion des types (texte, numérique, date)
- Export dans un fichier
.sql
- Charger un fichier CSV dans un nouveau classeur
- Comparer le contenu des tables
- Rapport de comparaison (lignes en différence, écarts des valeurs dans une colonne)
Le classeur contient plusieurs onglets, chacun dédié à une table structurée.
Un onglet particulier, Contrat d'interface, décrit :
- le nom de chaque table,
- les colonnes,
- leur ordre,
- leur type ou format,
- les règles de validation.
Ce contrat sert de référence unique pour toutes les opérations d’import/export.
Récupérez GererTables.xlsm depuis le dépôt GitHub.
Excel → Options → Centre de gestion de la confidentialité → Paramètres des macros.
Dans l’onglet Contrat d'interface, définissez les colonnes et formats. Puis créez les feuilles qui vont contenir les données.
Menu → Importer CSV → Sélectionner le fichier → Choisir la table cible.
Menu → Exporter CSV → Choisir la table → Sélectionner l’emplacement.
Menu → Exporter SQL → Un fichier .sql est généré.
| ID | Nom | Age |
|---|---|---|
| 1 | Dupont | 32 |
| 2 | Martin | 45 |
INSERT INTO Clients (ID, Nom, Age) VALUES (1, 'Dupont', 32), (2, 'Martin', 45);
L’onglet Contrat d’interface constitue le schéma fonctionnel du classeur.
Chaque ligne décrit une table ou une colonne.
Renseigner pour chaque entrée :
- Nom de la table
- Nom de la colonne
- Format / Type de données (Texte, Entier, Date, etc.)
- Clé primaire (si applicable)
- Références (liens vers d’autres tables)
Cet onglet sert de base à la génération automatique des tables.
Une fois le contrat d’interface complété :
- Cliquer sur le bouton Réactualiser / créer des feuilles avec les tables.
- Le programme :
- crée un onglet par table définie ;
- insère un tableau structuré avec les colonnes du contrat ;
- ajoute automatiquement sur la première ligne :
- Menu
- Exporter CSV
- Importer CSV
- Exporter SQL
- inscrit le nom de la table en haut de l’onglet.
Les tables sont immédiatement opérationnelles pour la saisie, l’import/export et la génération SQL.
Après la création des tables :
- La colonne Table référencée du contrat d’interface propose une liste déroulante contenant toutes les tables du classeur.
- Lorsque l’utilisateur sélectionne une table :
- la colonne Clé primaire référencée se remplit automatiquement avec une liste déroulante contenant les clés primaires de la table choisie.
Ce mécanisme permet de définir facilement :
- des relations 1‑N (clé primaire → clé étrangère),
- des références croisées,
- des contraintes de cohérence entre tables.
Le contrat d’interface devient ainsi un véritable catalogue de métadonnées pilotant la structure du classeur.
Grâce à ce fonctionnement :
- la structure des tables est définie une seule fois dans le contrat d’interface,
- les onglets sont générés automatiquement et restent synchronisés,
- les relations entre tables sont gérées via des listes déroulantes dynamiques,
- l’utilisateur dispose d’un environnement cohérent pour :
- saisir des données,
- importer/exporter en CSV,
- générer des requêtes SQL,
- maintenir des relations entre tables.