Bonsoir le Forum, Brigitte, André Zangel,
Zangel, André à tout à fait raison je suis super occupé et si Brigitte ne m’avait pas MSNgé, je n’aurais pas vu ton message.
Merci André pour ce rappel à l’ordre, avec toujours le même humour qui le caractérise si bien et merci Brigitte pour m’avoir prévenu. Et non André malheureusement pas de vacances pour moi !
Désolé si ce post est « lourd à digéré » et très long mais y’a pas mal de choses à dire. Je te donne le principe et les bouts de code, à toi d’adapter selon les spécificités de tes fichiers et de ton réseau !
I – Le principe : Va falloir suivre là !!!!
Disons que tu as deux fichiers : Elève.xls et Macro.xls. Macro se trouve sur le réseau. L’End-user ouvre son fichier Elève.xls
1 – lecture de la clef en base de registre.
2 - La clef existe t’elle ?
3 – Non RDV en 10.
4 – Oui RDV en 5.
5 – Ouverture du fichier texte sur le réseau.
6 – Récupération du numéro de version et comparaison avec celui du registre.
7 - Est-ce le même ?
8 – Oui Sortie de la procédure RDV en 12
9 – Non RDV en 10
10 – Copie du fichier macro.xls se trouvant sur le réseau en local dans un répertoire.
11 – Update de la base de registre avec le nouveau numéro de version.
12 – Chargement du fichier macro.
13 – Fin de procédure.
II – Bouts de code :
Lecture en Base de Registre et attribution à une variable : VerBdeR = GetSetting('SecoTools', 'Init', 'Version')
Ecriture en BdeR : SaveSetting 'SecoTools', 'Init', 'Version', VersionActu
Ouvrir et lire un fichier texte :
Open FichierVer For Input As #1
Val = FileLen(FichierVer)
Cible = Input(Val, 1)
Close #1
Copier un fichier avec overwrite sans interaction End-user (Activer la référence Microsft scripting runtime).
Dim FSO as new filesystemobject
FSO.copyfile Source,destination, True (destination : juste un repertoire pas de nom de fichier !)
Set FSO = nothing
Te voila paré pour développer ton application. Bien sûr en registre stock le chemin local de ton fichier macro.xls comme ca tu auras qu’à l’interroger pour le chargement.
Après tout est permis, moi je fais apparaitre une boite de dialogue quand il y a une nouvelle version avec un « what’s new ». Simple j’ouvre un doc texte et je l’affiche dans un label par exemple.
Une fois le code prêt tu peux le réutilisé facilement dans plusieurs fichiers suffit juste de changer le nom des clefs en base de registre si nécessaire. De cette façon tu pourras aussi travailler tant que tu veux sur ton fichier de macro en local sur ton poste. Ton fichier est prêt ? Stocke le sur le réseau, édite le document texte et si tu étais par exemple en 2.5 met 3.0. Sauve le document texte et voilà !! A chaque ouverture de fichier élève l’update sera automatique !
Bon courage et bonnes fêtes à toutes & tous
Creepy