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 :

Chargement automatiquement post-ouverture d'un fichier xlam [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 184
    Points : 164
    Points
    164
    Par défaut Chargement automatiquement post-ouverture d'un fichier xlam
    Bonjour,

    je recherche comment ouvrir un fichier XLAM après avoir ouvert un fichier xlsm.
    La difficulté est que j'ai un "onLoad" dans customui.xml et autres (getvisible...).
    Si je l'ouvre automatiquement dans les options d'excel, j'ai des messages d'erreur, je souhaiterais juste que lorsque le fichier XLSM s'ouvre, la macro complémentaire s'ouvre juste après et pas avant.

    Sauriez-vous comment faire?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Salut,
    Cordialement,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        ' Load and install new XLAM
        Set myAddIn = Application.AddIns.Add("c:\myaddins\myxlam.xlam")
        myAddIn.Installed = True

  3. #3
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 184
    Points : 164
    Points
    164
    Par défaut
    Bonjour,

    je vous remercie. C'est ce que je cherchais mais que je n'arrivais pas à trouver.
    je l'ai mis à la fin de: Workbook_Open()

    J'ai essayer de faire en sorte que lorsque l'on referme le document en faisant cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        myAddIn.Installed = False
    End Sub
    Cela l'ouvre comme si je l'avais rajouté dans les options Excel.

    J'ai créé une variable globale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public myAddIn As AddIn (ou AddIns)
    .

    Hélas, je n'arrive pas à "décharger" le fichier XMAL et il s'ouvre à chaque ouverture d'Excel. Il faut que je fasse une manipulation pour le fermer.
    Cela crashe ou perturbe l'ouverture de plusieurs classeurs (automatiquement).

  4. #4
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Je crains de ne pas pouvoir t'aider beaucoup plus!
    J'ai fait quelques recherches sur internet, ça semble compliqué!
    L'une des techniques est de supprimer le fichier xlam, et de rafraichir
    la liste des addin(il y a une méthode update, de la collection addins, je crois)
    Mais tant que Excel est ouvert, le fichier est protégé, et impossible
    de le supprimer, ni de le renommer.
    Cordialement,

  5. #5
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 071
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 071
    Points : 9 850
    Points
    9 850
    Billets dans le blog
    5
    Par défaut
    Bonjour,


    un solution à tester, l'idée vient de me traverser l'esprit :

    n'ouvrir dans l'instance excel que ce classeur, quitte à écrire une procédure qui ferme tout le reste et le réouvre dans une nouvelle instance

    utiliser la procédure Close du classeur pour :

    1) quitter l'application
    2) écrire un VBS et l'enregistrer sur le bureau, qui se lancera quelques secondes plus tard et qui ira faire le ménage dans le dossier Addins ?


    tiré par les cheveux ... je suis fatigué

  6. #6
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 184
    Points : 164
    Points
    164
    Par défaut
    Bonjour,

    je vous remercie de vos réponses et de vos aides.
    J'ai moi-même une idée qui peut être mauvaise.

    J'ai rajouter à Workbook_open() la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open ("D:\dossier\facturation.xlam")
    Cela semble marcher. le fichier s'ouvre bien.
    Je continue à faire des tests.

    Ce qui m’embête c'est l'adresse du fichier en dur car il faudra la changer manuellement (en espérant que cela ne se crashe pas avant).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2007] Importer données automatiquement à l'ouverture d'un fichier WORD
    Par F@hrenheit dans le forum Word
    Réponses: 3
    Dernier message: 10/06/2015, 22h24
  2. message de chargement a l'ouverture d'un fichier pdf
    Par nickg dans le forum Débuter
    Réponses: 4
    Dernier message: 03/08/2011, 15h09
  3. Réponses: 11
    Dernier message: 13/12/2009, 15h13
  4. Ouvrir automatiquement un formulaire à l'ouverture d'un fichier Excel
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/03/2008, 16h50
  5. Réponses: 1
    Dernier message: 25/07/2007, 13h15

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