IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Installation et désinstallation d'une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943
    Par défaut Installation et désinstallation d'une macro
    Bonjour à tous,

    Je suis en train de m'arracher les cheveux à essayer de faire quelque chose qui me semblait évident : installer et désinstaller proprement une macro complémentaire (fichier xla) pour tous les utilisateurs du système.
    Cette macro ajoute automatiquement une barre d'outils personnalisée lors de l'ouverture de l'xla et la supprime à sa fermeture.
    Je n'arrive pas à trouver d'information complète à ce sujet, en particulier en ce qui concerne la désinstallation.
    Les solutions que j'ai explorées sont les suivantes :
    • Solution 1: Copie de la macro dans un répertoire quelconque et utilisation de COM pour enregistrer la macro dans Excel (propriété Addins de l'objet application). Cela marche bien mais ce n'est valable que pour l'utilisateur qui réalise l'installation et/ou la désinstallation.
    • Solution 2: Copie de la macro dans le répertoire "Bibliothèque" ou "Library" d'Office et activation manuelle de la macro par chaque utilisateur en cochant celle-ci dans la fenêtre des macros complémentaires. Dans ce cas, je ne sais absolument pas comment faire une désinstallation correcte. Supprimer le fichier entraine une erreur lors de l'ouverture d'Excel. De plus, je ne vois pas de manière fiable de récupérer le chemin de ce répertoire quelle que soit la langue de l'utilisateur.


    Quelqu'un à une méthode à proposer?
    Comment faites-vous?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    752
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 752
    Points : 832
    Points
    832
    Par défaut
    Citation Envoyé par Pierre Castelain Voir le message
    De plus, je ne vois pas de manière fiable de récupérer le chemin de ce répertoire quelle que soit la langue de l'utilisateur
    Pour le reste je ne sais pas, mais pour ça, voici un petit exemple de comment je m'y prends pour obtenir le chemin de "Eurotool.xla" à partir de n'importe quel classeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.VBProject.Parent.VBProjects("Eurotool").Filename
    A mon goût, pour le reste, la meilleure solution serait la 2), mais après pour désinstaller, ce que tu peux essayer, c'est d'inclure un composant dans ta macro complémentaire pour qu'elle puisse se décocher elle-même de la liste, pour supprimer son propre fichier après.
    Je ne sais pas si ça marcherait: j'en doute, mais qui ne tente rien n'a rien.

    Après, plus hardcore: faire un programme C/C++ (pour ceux qui ont pas froid aux yeux) ou une autre macro qui fasse ça depuis en dehors de ta macro complémentaire.

  3. #3
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943
    Par défaut
    Citation Envoyé par decondelite Voir le message
    A mon goût, pour le reste, la meilleure solution serait la 2), mais après pour désinstaller, ce que tu peux essayer, c'est d'inclure un composant dans ta macro complémentaire pour qu'elle puisse se décocher elle-même de la liste, pour supprimer son propre fichier après.
    Je ne sais pas si ça marcherait: j'en doute, mais qui ne tente rien n'a rien.

    Après, plus hardcore: faire un programme C/C++ (pour ceux qui ont pas froid aux yeux) ou une autre macro qui fasse ça depuis en dehors de ta macro complémentaire.
    Merci de ta réponse.
    J'ai pensé à cette solution, mais mes clients ne vont pas aimer ça. Cela impliquerait de laisser une partie du programme sur la machine après la désinstallation du produit. Ils vont considérer que la désinstalltion est incomplète (et ils n'auront pas tord).
    J'ai du mal à croire que l'on ne puisse pas supprimer ou au moins désactiver une macro complémentaire pour tous les utilisateurs.

Discussions similaires

  1. [XL-2003] Installer et Désinstaller une macros complémentaire par VBA
    Par amerex dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/04/2010, 00h13
  2. Installation/Désinstallation d'une appli
    Par bigflo33 dans le forum Runtime
    Réponses: 5
    Dernier message: 21/11/2008, 08h04
  3. Installer une macro sur plusieurs postes
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/02/2008, 15h27
  4. Installer une macro Word via une appli distante
    Par JnewB dans le forum VBA Word
    Réponses: 3
    Dernier message: 28/09/2006, 14h17
  5. Probleme d'installation d'une macro OleWord
    Par blondelle dans le forum C++Builder
    Réponses: 5
    Dernier message: 05/09/2006, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo