Besoin de votre avis sur la conception d'un outil

GeoTrouvePas

XLDnaute Impliqué
Bonsoir,

J'ai préféré poster ce message dans le salon car je voudrais simplement avoir votre avis (ou vos idées) sur la conception d'un petit travail et non une aide purement technique.

Compte tenu des contraintes qui me sont imposées, je suis arrivé à la conclusion que mon projet doit prendre la forme d'une macro complémentaire (pour créer un menu personnalisé) et qui soit capable de se mettre à jour sans intervention de l'utilisateur.

Pour la mise à jour automatique, j'ai trouvé quelques solutions complexes sur le net et que j'ai peur de ne pas maîtriser à 100%. Je me suis donc dit que je pourrais construire ma propre solution qui fonctionnerait comme ceci :

- Une procédure Workbook_Open qui :
- vérifie si une Maj est disponible et la lance si nécessire
- créer le menu perso
- Une procédure Workbook_Close qui supprime le menu

Mon soucis concerne la viabilité de cette mise à jour. Je me suis dit qu'elle pourrait consister à :
- Vérifier qu'une nouvelle version est disponible dans un répertoire donnée (comparaison à partir des dates des fichiers)
- Suppression de tous les modules de la macro complémentaire
- Importation de tous les modules du nouveau fichier
- Enregistrement de la macro complémentaire modifiée



Avant de ma lancer dans ce chantier, j'aurai aimé avoir votre avis. Cette solution est elle techniquement faisable ? Est elle réaliste ? Cohérente ? Existe - t - il un moyen plus simple / fiable / rapide ?

Je vous remercie par avance de votre participation et vous souhaite à tous une excellent nuit ! ^^
 
Dernière édition:

mutzik

XLDnaute Barbatruc
Re : Besoin de votre avis sur la conception d'un outil

salut le forum

une alternative que j'ai mis en place :
dans mon répertoire, j'ai mis un fichier texte sans contenu dont le nom est la version active
par ex :
mon fichier s'appelle actuellement v3_02.txt
dans ma macro, je lance la recherche du fichier txt de la version enregistrée dans le fichier excel
Si elle trouve la version qui correspond à celle de ton menu, tu fais rien
si elle ne trouve pas le fichier, alors tu fais la MAJ

cela évite de vérifier les dates de fichier...
 

GeoTrouvePas

XLDnaute Impliqué
Re : Besoin de votre avis sur la conception d'un outil

Bonjour Mutzik,

Pas bête comme fonctionnement ! Et comment mémorises tu le numéro de version actuel ?

Concernant la mise à jour en elle même, comment procèdes tu ?
 

Staple1600

XLDnaute Barbatruc
Re : Besoin de votre avis sur la conception d'un outil

Bonjour à tous


Si tu utilises un *.xla ou *.xlam, je suppose qu'il faut le décocher de la liste Macros complémentaires avant de le mettre à jour.
--> Voir dans ce cas comment désactiver/activer un *.xla par macro.

Ensuite quand tu parles de mise à jour, tu veux injecter de nouvelles lignes de code vba dans ton addin?

N'est-ce pas plus simple de simplement effacer l'ancienne version et de la remplacer par la nouvelle?
 

Misange

XLDnaute Barbatruc
Re : Besoin de votre avis sur la conception d'un outil

Bonjour

J'ai pas très bien compris ta description de "mon projet" et de ce que tu cherches vraiment à faire ...
tu veux mettre à jour des macros sur des PC distants ? en réseau ? Ce sont le utilisateurs qui viennent chercher la mise à jour ou c'est toi qui diffuse ?

Mais je vois tout de suite quelque chose qui m'étonne : la création d'un menu perso. Tu ne diffuses qu'à des gens qui ont une version antérieure à 2003 ? Ces personnes ne passeront jamais à une version ultérieure ? Perso je n'irai plus dans cette voie qui me semble trop casse pieds à maintenir avec les différentes versions. Mais j'ai surement pas bien compris ta demande.
 

MJ13

XLDnaute Barbatruc
Re : Besoin de votre avis sur la conception d'un outil

Bonjour à tous

Tout ce que tu demandes est faisable. Mais est-ce que le jeu en vaut la chandelle :confused:.

Comme dit précédemment, il serait plus simple de gérer des versions d'un fichier et d'avoir un autre .xla par exemple, pour récupérer le fichier :).

Sinon, pour: Enregistrement de la macro complémentaire modifiée

Tu peux utilser ce code:

Code:
Thisworkbook.Save
 

GeoTrouvePas

XLDnaute Impliqué
Re : Besoin de votre avis sur la conception d'un outil

Bonjour Staple, Misange et MJ13,

Tout d'abord un grand merci pour votre participation à ce fil qui compte beaucoup pour moi. J'ai essayé d'être le plus concis possible pour expliquer mon projet histoire de ne pas vous noyer sous des tonnes d'infos mais je suis visiblement aller un peu trop loin.

Mon projet :
Réaliser une boite à outils pour une douzaine de personnes. Ces outils prendront la forme de macros, de tableaux spécifiques, de raccourcis etc...

Mes contraintes :
- Les personnes destinataires (environ une douzaine) ne sont pas forcément très à l'aise avec l'informatique et sont éparpillés sur plusieurs départements
- Les outils ne sont pas encore tous définis et évolueront dans les semaines / mois / années à venir
- Nos disques réseau ont une arborescence des plus bordéliques (le terme est faible)
- Je ne peux pas compter sur le service informatique pour la diffusion et la mise à jour de la boite à outils

Compte tenu de ces éléments, je me suis dit qu'un menu personnalisé répondrait à pratiquement toutes mes contraintes (notamment en permettant aux utilisateurs d'avoir accès à tous les outils simplement en ouvrant Excel). Pour mettre en place ce menu, une macro complémentaire serait un bon moyen.

Pour répondre à vos questions :
@Staple : Je voudrais justement que mon xla se mette à jour tout seul pour éviter que les utilisateurs aient à faire la manip à chaque fois (car ils n'en ont ni la compétence, ni l'envie et je vais vite me faire envoyer bouler si les maj deviennent fréquentes).
Pour la mise à jour, je pensais que mon xla pourrait "simplement" supprimer tous ses modules (sauf le module ThisWorkBook qui gèrerait le Workbook_Open et la mise à jour) et récupérer les modules de la nouvelle version.

@Misange : Les utilisateurs sont tous reliés au même réseau. Dans l'idéal, il faudrait que les maj soient transparentes pour les utilisateurs, qu'ils n'aient rien à faire. Effectivement, nous sommes encore sous Office XP et il n'est pas à l'ordre du jour d'en changer.

@MJ13 : La solution que tu proposes correspond à ce que je veux faire : un xla qui ne fasse que récupérer la dernière version d'un .xls. Il faut simplement que je puisse rajouter la gestion du numéro de version pour que des maj inutiles ne se fassent pas à chaque ouverture d'Excel.
 

Staple1600

XLDnaute Barbatruc
Re : Besoin de votre avis sur la conception d'un outil

Re à tous

@Staple : Je voudrais justement que mon xla se mette à jour tout seul pour éviter que les utilisateurs aient à faire la manip à chaque fois (car ils n'en ont ni la compétence, ni l'envie et je vais vite me faire envoyer bouler si les maj deviennent fréquentes).
Pour la mise à jour, je pensais que mon xla pourrait "simplement" supprimer tous ses modules (sauf le module ThisWorkBook qui gèrerait le Workbook_Open et la mise à jour) et récupérer les modules de la nouvelle version.

Ce que je voulais dire c'est que je ne sais pas modifié le code VBA d'un XLA alors qu'il est actif (donc cocher dans macros complémentaires)

Personnellement je verrai bien un truc du genre:
Un script vbs en mode quiet qui copierai à travers le réseau la nouvelle version sur toutes les sessions.

Qu'en penses-tu?
 

GeoTrouvePas

XLDnaute Impliqué
Re : Besoin de votre avis sur la conception d'un outil

J'en dis que..... je ne maîtrise absolument pas les script vbs et que j'ai donc du mal à me faire une idée.
Mais si tu me dis ça peut répondre à mes attentes, je suis prêt à me lancer !
 

tototiti2008

XLDnaute Barbatruc
Re : Besoin de votre avis sur la conception d'un outil

Bonjour à tous :),

Si tous tes utilisateurs ont accès à un même disque réseau où tu pourrais stocker le xla, il y a une méthode assez simple :
Lorsque tu installes le .xla sur le poste d'un utilisateur, il te demandera s'il faut faire une copie en local (je n'ai plus le message en tête, un histoire de bibliothèque locale je crois), il faudra répondre Non.
Le xla du poste utilisateur sera donc dépendant de la version sur le disque réseau.
Après, si ton xla évolue, il te suffira d'écraser celui sur le disque réseau pour que les utilisateurs aient la version à jour.
Il leur faudra quitter puis relancer Excel pour que la nouvelle version soit chargée.
Tu ne pourra pas modifier directement le xla sur le réseau car utilisé, mais tu pourras l'écraser (copie en local sur ton poste, modification, écrasement sur le réseau). Il me semble que c'est la méthode la plus simple, mais sinon on peut envisager des scripts qui vérifient la version, etc, surement dans un xla séparé ou dans un script vbs...
 

Staple1600

XLDnaute Barbatruc
Re : Besoin de votre avis sur la conception d'un outil

Re, bonjour tototiti2008

Geo:
T'as zappé ma référence à Cafeine plus bas dans le fil ? ;)
Parce que son mode opératoire est en VBA.

PS: VBS est un cousin proche de VBA ;)
 
Dernière édition:

GeoTrouvePas

XLDnaute Impliqué
Re : Besoin de votre avis sur la conception d'un outil

Bon sang.............
C'est une excellente idée Tototiti. Je n'avais même pas mesuré que la "non copie" de la macro complémentaire dans le répertoire dédié faisait que l'utilisateur était dépendant de la version réseau (et que les mises à jour se faisaient du coup sans manipulation).

Il y a cependant une faille dans cette méthode :
Si l'utilisateur n'est pas connecté au réseau (lors d'une coupure ou quand il travaille de chez lui) un message d'erreur est généré lors de l'ouverture d'Excel. Typiquement le genre de cas où les utilisateurs ne vont pas comprendre ce qu'il se passe et vont me dire que mon "bazar ne fonctionne plus" :p

Je vais donc essayer de me pencher sur le script de Staple et d'y comprendre quelque chose.

Edit : @Staple : Si j'ai bien vu ton lien vers la Faq de Cafeine mais j'ai pas arrêté d'être interrompu entre mon "like" et ce post. :mad:
 

Staple1600

XLDnaute Barbatruc
Re : Besoin de votre avis sur la conception d'un outil

Re


Après lecture de ce que propose Cafeine, je laisse mon idée de script à l'état d'idée.
D'autant plus que le code VBA est déjà rédigé.

Comme je ne suis pas en réseau ici, je ne peux pas tester sa proposition, mais elle me botte d'avance ;).
 

GeoTrouvePas

XLDnaute Impliqué
Re : Besoin de votre avis sur la conception d'un outil

J'étais sur ce code hier soir mais j'avoue que je n'y ai rien compris sur le coup et que l'utilisation d'un fichier .ini me semblait aller un peu trop loin par rapport à mes besoins.

En le relisant aujourd'hui, je comprends un peu mieux le principe. La seule chose qui me gène un peu, c'est qu'il faut installer un fichier .ini sur chaque poste utilisateur. Mais ça encore, ça doit pouvoir être adaptable (je verrais bien un seul fichier .ini sur le réseau avec des sections différentes pour chaque utilisateur).

En tout cas merci Staple de m'avoir relancé vers cette solution qui a le mérite de me faire aborder de nouvelles notions.
 

Discussions similaires

Statistiques des forums

Discussions
312 273
Messages
2 086 702
Membres
103 376
dernier inscrit
marionromeo