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.
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)
Il n'apparait nullement dans les References VBA ce qui ne l'empêche pas de fonctionner parfaitement.
Après tu peux faire du "custom", stocker tes Compléments dans des répertoires à toi et là effectivement, il doit falloir passer par les References VBA.
Mais le fichier que j'ai fait reste dans le Standard pour les Compléments "Utilisateur".
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.
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
allez à dans un an et 16 jours et je t'expliquerais comment on enclenche un xla par macro
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
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.
Ce sera un peu tard parce que je sais le faire aujourd'hui.
Et si t'as écrit des trucs là-dessus il y a "un an et 16 jours" ben tu peux aller les corriger.
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
Bonjour, Quelqu'un aurait-il une Macro toute faite pour ajouter / retirer un .xlam des compléments pris en compte. Ça m'éviterait en cours de développement de chaque fois aller dans Fichier / Options / Compléments / Atteindre / cocher ou décocher le .xlam Merci par avance.
excel-downloads.com
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
et je suis certains que tu nomme pas tes projets (vu tes captures )
autrement dit si tu installe(true) x xlam dans un project ,tu va te retrouver avec 36 vbaproject dans tes références
non mais sérieux comment veux tu que cela fonctionne
Non, je ne manque jamais de respect à qui que ce soit, mais si tu dis des trucs que je conteste, ben je le fais.
Après on verra, je dois modifier assez profondément mon fichier pour intégrer le répertoire de placement du Complément "Utilisateur".
Ç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>
Donc il faut que je le prévoies dans mon fichier mais ce n'est pas tout à fait simple à présenter... simplement !
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