Application de VBA avec un classeur
Bonjour à tous,
Je travaille sur une application écrite en VBA/Excel dans un environnement
Windows 10/ Excel 2016 / MySQL 8.0 sur un serveur amazon et ODBC 8.0 assurant le lien entre Excel et MySQL
J'essaye de faire la chose suivante :
- connexion au server
- utilisation d'un userform Excel faisant des select, update, ... sur la BD et écrivant des données sur le classeur Excel
Jusqu'à là tout va bien https://www.developpez.net/forums/im.../icon_wink.gif
- Puis à un moment donné l'utilisateur doit pouvoir fermer avec ou sans sauvegarde le classeur Excel via un bouton
de commande, sous un nom qui lui est propre
- et revenir dans l'application sur le userform de départ https://www.developpez.net/forums/im...s/icon_sad.gif
En résumé, le besoin est de pouvoir détacher la vie du classeur et de l'application VBA
En vous remerciant par avance pour vos suggestions
JohnLee
Suite du message précédent
Citation:
Envoyé par
Jean-Philippe André
Cette partie indique que tu dois effectivement découpler le fichier dans lequel tu as le code (l'intelligence de ton application) des données de l'utilisateur.
Il faudrait que tu nous dises si une fois le fichier sauvegardé, l'utilisateur est sensé pouvoir le réouvrir toujours avec ton application ou si c'est un fichier final qui doit pouvoir être envoyé à d'autres ?
En fait on a énormément de solutions, mais tu ne nous as pas donné assez d'éléments pour qu'on t'indiquela solution la plus adéquate...
Quelques infos générales sur l "application
L’application est un petit « ERP » développé sous VBA/Excel 2016 et MySQL 8.0 comme SGBD. J’utilise ODBC 8fourni par MySQL comme driver
Dans l'application VBA, il y a une vingtaine de userfoms. La BD fait environ 50 tables
Il y a 2 types de fonctionnalités dans l’appli
1°) Transactions classiques de type "ERP" :
Commandes client, livraison, facturation, commandes achat, gestion des stocks en qté et valeur
Gestion du référentiel (articles, clients, fournisseurs, tarifs …)
2°) Outils de reporting
Pouvoir faire des business reports, tableaux de bord préprogrammés, graphiques par domaine d’analyse (CA, Marge, stocks, …)
C'est principalement dans cette partie que ma question se pose
L'idée de base est de partir d’un userform de type reporting
Ce userform doit permettre
- de choisir un report dans une bibliothèque de rapports prédéfinis
- de saisir les paramètres d'extraction de données du report sélectionné
- d’exécuter ce report et de récupérer le résultat sous forme d’un classeur
Pour cela l'idée est de disposer de bibliothèques de classeurs de type 'Templates' prêts à l'emploi, accessibles par les utilisateurs en read-only
L’utilisateur choisit un des fichiers ‘Template’, saisie les paramètres et critères d’extraction dont il a besoin à l’aide du Userform, lance le report et se retrouve avec un classeur XL présentant le résultat recherché.
Jusqu’à là tout va bien.
Ensuite l’utilisateur fait ce qu’il veut avec ce fichier qui ne sera pas réutilisé dans l’application.
Le problème est de libérer le fichier et de revenir dans le userform avec ses paramètres saisies et je n’ai pas la main ni sur le fichier XL pour faire un close ou un save , ni sur le userform. Les 2 sont bloqués
Si vous avez une idée de solution, n’hésitez pas
Je vous remercie pour votre contribution
Johnlee