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.
Re
Pour ma part je ne range pas les xlam dans le dossier prévu par microsoft mais dans un dossier de données afin qu'ils soient bien sauvegardés régulièrement comme les données.
La majorité des utilisateurs ne sauvegarde jamais les dossiers de l'arbo technique de C:
Est-ce que AddIns.Add Filename:="Chemin\Nom.xlam" va copier le fichier "Chemin\Nom.xlam" dans le répertoire des AddIns ? Je ne l'y retrouve pas.
Ou faut-il que je le fasse en plus ?
Au final ça fonctionne. Dommage qu'il n'y ait pas de méthode AddIns.Delete mais ce n'est pas grave.
A toutes fins utiles, je mets le fichier pour ceux qui utilisent le répertoire des AddIns par défaut (Application.UserLibraryPath).
Pour utiliser un répertoire custom, suffit de modifier la fonction qui y fait référence avec le nom de répertoire ad hoc.
re
je veux dire que
.addins.add fromfiles(......)
avec installed=true
ajoute bien et installe le xla(m)
mais les macro ne sont pas utilisable tant que la reference a ce vbproject n'est pas coché
c'est pas compliqué
et le pire dans tout ça c'est que je te l'ai déjà expliqué il y a 1 an et 16 jours
je le sais puisque j'ai gardé le fichier avec un classeur test que je t'avais fait
démonstration avec le fichier du 11/11/2021
on voit bien le xla present dans VBE quand je lance UseAddin
mais quand je lance une sub qui appelle la sub de l'addin elle ne fonctionne pas "fonction indéfinie" (et pour cause)
par contre dès que je vais activer la référence a ce xla la la sub fonctionne
j'ai bien sur enlevé la solution du code
tu va essayer de rechercher la discussion de novembre 2021 ( la solution s'y trouve)
comme ça tu t'en rappellera