Stratégie de livraison d'une nouvelle version du code VB sans toucher aux données du classeur
Bonjour à tous,
Voilà ma problématique.
Je développe pour le compte d'un ami une petite appli VB de gestion d'une base de données sous Excel 2013.
Entre deux livraisons de code mon ami fait sans cesse évoluer sa base de données ( ajouts...) , donc à chaque fois que je livre une nouvelle version il y a une différence entre les données de mon classeur et les siennes, ce qui nous oblige à nous synchroniser sans cesse ( il doit me renvoyer SA version avant que je ne lui renvoie son fichier augmenté de mon code VB...), ce qui est plutôt fastidieux. Dans l'idéal, j'aimerais exporter mon code sous une forme ou une autre en lui disant "Tu peux intégrer ce nouveau code au fichier" en suivant une procédure quelconque.
Ce mécanisme existe-t-il sous Excel, selon vous ( je pense que oui bien sûr ) et sinon comment feriez-vous ?
Bien cordialement.
Avec une macro complémentaire
Citation:
Envoyé par
devjul1
Ce mécanisme existe-t-il sous Excel, selon vous ( je pense que oui bien sûr ) et sinon comment feriez-vous ?
Bonjour,
Vous pourriez utiliser une macro complémentaire qui contiendrait tout le code. C'est ce que je fais pour la maintenance des outils de mes clients.
Un exemple de macro complémentaire dans le fichier joint : Pièce jointe 195621. Le zip contient le fichier Marketing.xlam.
Cette macro est légèrement modifiée par rapport au post : additionner-plage-cellules-contenant-caracteres-numeriques-alphanumeriques/
Pour faire apparaître cette macro dans les compléments d'Excel : Menu Développeur - Compléments puis cocher Marketing.
Adaptez ThisWorkbook et le module Menu selon vos besoins.
Restent dans la base de données client, les macros événementielles propres aux onglets. Vous pouvez également lier le VbaProject Marketing au fichier client depuis l'éditeur VBA via Outils/Références si vos macros événementielles déclenchent des routines contenues dans Marketing. Nb : Dans ce cas, il vaut mieux nommer le projet Vbaproject d'un nom explicite.
Cordialement.