Re : Macro de mise à jour automatique de fichier
Bonjour le Forum, tototiti2008, Uriel,
Nous avions le même problème dans mon ancien job.
Dans la logique c'est tout à fait possible par VBA, mais dans la réalité ce n'est pas possible.
Pourquoi ?
Tu ne pourras auto remplacer ton fichier. En effet il est ouvert donc en lecture seule... Tu essaies de t'auto copier, tu vas avoir un message d'erreur...
Il faut donc fermer le fichier pour le remplacer, mais du coup ta macro ne fonctionne plus puisque le fichier est fermé ...
Bref c'est le serpent qui se mord la queue et donc il n'y a pas de solution.
Les pistes que nous avions exploré à l'epoque :
- Document XL partagé : trop de contraintes : d'accès, de mise à jour, de temps de réponses si plusieurs utilisateurs dessus, de traffic reseau, et de facilité de mise à jour.
- Création d'un XLA d'ouvertures, qui ferait le boulot de vérification et de mise à jour, puis d'ouverture du fichier. Comme le XLA est idépendant du fichier plus de problème de mise à jour.
Problèmes à considerer : L'installation du XLA, et surtout la mise à jour du XLA lui même ! S'il y a un bug c'est reparti pour le même problème, car le XLA une fois chargé reste dans Excel où alors il faut le fermer. A tester la muti ouverture de ce XLA par plusieurs utilsiateurs.
- Création d'une petit exe de mise à jour en vb6, vb.net, c# ou autre qui s'occupe de la mise à jour.
C'est la solution que nous avons retenu dans mon précédent job. On a fait un exe en VB6, qui vérifiait la version du fichier sur le reseau et celui en local. Si difference, mise à jour puis lancement.
En local le fichier se trouve toujours dans le même répertoire. Si le répertoire n'existe pas création, copie du fichier et lancement. Puis il se ferme.
Voila dans les grandes lignes. Ensuite tu stockes l'exe sur le reseau et tu ne donnes aux utilisateur que le raccourci vers cet exe. Quand tu fais une mise à jour de l'XLS ou de l'exe tu mets sur le reseau et tu n'es plus embêté.
@+
Creepy