IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

Philippe Tulliez

VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes

Noter ce billet
par , 16/12/2020 à 07h43 (2003 Affichages)
Cliquer sur le lien https://www.developpez.net/forums/bl...categoryid=624, pour voir tous mes billets concernant les macros complémentaires (Add-In) (xlam)

Avant-Propos
Dans un billet précédent, je traitais comme sujet Créer une macro complémentaire

Lorsque l'on écrit une application nécessitant l'utilisation d'une macro complémentaire particulière (Add-In, Complément), il peut être intéressant de savoir à l'aide d'une procédure VBA,
  • si l'Add-In est déjà installé
  • Installer l'Add-In
  • Désinstaller l'Addin
  • etc.

Le but de ce billet est de présenter quelques procédures intéressantes permettant de charger dynamiquement une macro complémentaire

La boîte de dialogue Compléments
Nous avons vu dans le précédent billet sur le sujet, la boîte de dialogue qui affiche les compléments (Installés ou non)

Nom : dlg Compléments vierge.png
Affichages : 724
Taille : 9,8 Ko

Comment savoir si un complément est présent dans la collection AddIns ?

La fonction IsAddinExist renvoie True si l'Add-In est présent dans la collection des Add-Ins (Chargé ou pas)

Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Function IsAddinExist(AddinName As String) As Boolean
  Dim Elem As Integer
  Do Until Elem = Application.AddIns.Count Or IsAddinExist = True
     Elem = Elem + 1
     IsAddinExist = StrComp(Application.AddIns(Elem).Title, AddinName, vbTextCompare) = 0
  Loop
End Function

Ainsi l'instruction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Debug.Print IsAddinExist("MagicTools")
ainsi que
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
Debug.Print IsAddinExist("Invoice")
renverront True

Comment savoir si un complément présent dans la liste est installé ?
La propriété Installed de l'objet AddIn renvoie True ou False suivant que l'Add-In est installé ou pas
En fonction de l'illustration ci-dessus, l'instruction ci-dessous renverra True alors qu'en passant comme argument MagicTools elle renverra False
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
Application.AddIns("Invoice").Installed

Comment charger un complément lorsqu'il n'est pas encore présent dans la collection AddIns ?
La procédure ci-dessous permet de charger un complément, nommer pour l'exemple AddInDynamic.xlam se trouvant dans un sous répertoire, nommé Config, du classeur où se trouve cette procédure
Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Sub AddinInstall()
  Const SubFolder As String = "Config"
  Const AddInName As String = "AddInDynamic.xlam"
  Dim FullName As String
  FullName = ThisWorkbook.Path & "\" & SubFolder & "\" & AddInName
  Application.AddIns.Add(Filename:=FullName).Installed = True
End Sub

BILLETS PRECEDENTS SUR LE MÊME SUJET

Envoyer le billet « VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes » dans le blog Viadeo Envoyer le billet « VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes » dans le blog Twitter Envoyer le billet « VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes » dans le blog Google Envoyer le billet « VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes » dans le blog Facebook Envoyer le billet « VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes » dans le blog Digg Envoyer le billet « VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes » dans le blog Delicious Envoyer le billet « VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes » dans le blog MySpace Envoyer le billet « VBA - Excel - Charger dynamiquement une macro complémentaire - Quelques procédures intéressantes » dans le blog Yahoo

Mis à jour 25/09/2023 à 11h39 par Philippe Tulliez

Catégories
VBA Excel , Add-In

Commentaires

  1. Avatar de PLH81
    • |
    • permalink
    Bonjour à vous,
    Merci pour ce tuto bien pratique.
    Maintenant que l'on sait comment ajouter celui-ci, est-il possible de le supprimer de la liste ?

    Cordialement
    PLH81