XL 2016 VBA - Gestion de Compléments

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

Est-il possible de faire cette manip via le code d'un classeur ?

Le problème qui motive cette question est le suivant:
En gérant par VBA les Compléments, lorsqu'on ajoute un tout nouveau fichier .xlam, le classeur ne le "voit" pas et donc on ne peut pas l' "installer" (en terminologie Excel), perso je préfère le terme "activer". Il faut fermer puis ré-ouvrir Excel (tous les classeurs) pour qu'il mette à jour sa liste de compléments (en ajout ou en suppression) et qu'elle soit accessible aux classeurs qui s'ouvrent.

J'ajoute que:
VB:
Application.OnTime Now + TimeSerial(0, 0, 2), "OpenMe"
Application.Quit

Sub OpenMe()
    MsgBox "Back"
End Sub
Fonctionne sur le plan de la ré-ouverture mais ne rafraichit pas la liste des Compléments comme le fait un fermeture / ré-ouverture manuelle car il n'y a de réelle fermeture d'Excel.

Merci par avance.
 
Dernière édition:
Je ne sais pas pourquoi tu va bricoler dans les References du projet VBA pour les Compléments.

Perso, je les gère dans leur emplacement standard:
- GUI Excel avec les panneau Fichier / Options / Compléments
- VBA avec Installed = True / False
et ça fonctionne très bien.

Quand un complément est coché dans le GUI ou Intalled = True en VBA (ce qui est la même chose)
1669554539173.png


Il n'apparait nullement dans les References VBA ce qui ne l'empêche pas de fonctionner parfaitement.
1669554736557.png
 
En fait, non, via le GUI Fichier / Options / Compléments tu peux désigner n'importe quel répertoire à partir du moment où il contient un ".xla(m)" qui deviendra alors activable (installable) par ce même GUI (et VBA Installed = True / False).

Donc ça ne devrait jamais être nécessaire de passer par les References VBA.
Va falloir que j'adapte mon fichier. Encore !
 
Il n'apparait nullement dans les References VBA ce qui ne l'empêche pas de fonctionner parfaitement.
1669556876946.png


a ben si en plus tu ne différencie pas tes xla on est bien tiens

et d’après toi la ref vbaproject c'est quoi d’après toi ????

commence par faire les chose en ordre donne leur un nom a tes project xla
sinon tu aura 36 vbaproject dans tes références

mais comme d'habitude c'est moi le bricoleur hein
bon ben je te laisse a tes certitudes rendez vous dans un an et 16 jours
si j'ai gardé encore le fichier démo

je vais faire le test en mettant le xla dans le dossier addin pour voir si la ref s'active avec le installed
 
bon ben je viens de tester et j'avais raison même si le xla est dans le dossier des addins
le xla s'installe bien mais les macro ne sont pas dispos si la ref n'est pas activée
le xla dans le dossier des addins
demo.gif


allez à dans un an et 16 jours et je t'expliquerais comment on enclenche un xla par macro
 
et d’après toi la ref vbaproject c'est quoi d’après toi ????
1669558479919.png


La Reference VBAProject, elle est pas cochée, j'ai pas besoin de la cocher, je vois pas le rapport.

le xla s'installe bien mais les macro ne sont pas dispos si la ref n'est pas activée
le xla dans le dossier des addins
Il n'est pas suffisant que le Complément soit dans les AddIns.
T'as pas compris ce que je t'ai dit.

Pour l'activer il faut utiliser:
- soit le GUI Excel avec les panneau Fichier / Options / Compléments et cocher la case
- soit avec VBA Installed = True

1669559117776.png


Après si tu veux taper dans les References du Projet VBA, c'est ton choix.
De toutes façons je suis en VBA et je sais ce que je dois faire.
 
Pour l'activer il faut utiliser:
- soit le GUI Excel avec les panneau Fichier / Options / Compléments et cocher la case
- soit avec VBA Installed = True
tu dois pas tester ce que tu fait toi
moi je te parle par vba
je te le redis un dernière fois parce que la vraiment ca me gonfle
installed oui tu voit le xla dans le vbe mais les macro ne sont pas dispo

pour info je l'ai retrouvé

un an après tu recommence 😂

et je n'ai rien à corriger
ton (installed par vba tout seul) ne rend pas les macros du xla dispo c'est pas vrai

et un dernier conseil
perso quand je vois vbaproject dans mes référence le xla par à la poubelle et je suis sur que je ne vais pas etre le seul a te le dire et à juste raison je te laisse deviner les quelles
 
ben si tu me dis que pour toi installed =true suffit a avoir les macro du xla dispo dans le claseur dans le quel tu l'a installé alors tu a un office excel bien special

et si je m'énerve c'est par ce que tu me prend pour un citron c'est tout alors que je prends le temps de t'expliquer et pour le coup c'est pas nouveau en plus
 
Environ("appdata") & "\Microsoft\AddIns\nom du complement.xlam"
Ça c'est le standard.
Mais via le GUI Excel des Compléments, on peut très bien stocker un .xla(m) dans le répertoire de son choix.
C'est ce que fait @chris (voir son Post #4) et je n'avais pris en compte cette option jusqu'à ce que je m'aperçoive que le GUI Excel des Complément le permet très facilement via le bouton <Parcourir>
1669563065503.png

Donc il faut que je le prévoies dans mon fichier mais ce n'est pas tout à fait simple à présenter... simplement !
 
VB:
Sub listeavecpath()
For Each AddInx In AddIns

MsgBox AddInx.Path & "\" & AddInx.Name

Next
End Sub
si tu le trouve pas c'est qu'il y a un blême par ce que chez moi ca liste tout les addins de tout les dossier ou sont mes addins et j'en ai plusieurs
facile a partir de la de te créer une variable tableau avec tout les path
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour