1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| Option Explicit
Const nom_court_xlam As String = "Collaborateurs"
Const nom_long_xlam As String = nom_court_xlam & ".xlam"
Dim nom_full_xlam As String
Const Rép_Source As String = "\\le_répertoire_dédié_géré_par_Marcel\Utilitaires\Macros Complémentaires"
Public Sub gest_addin()
nom_full_xlam = Application.UserLibraryPath & nom_long_xlam
'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'https://www.developpez.net/forums/d235993/logiciels/microsoft-office/general-vba/verifier-l-activation-d-reference/
'https://www.developpez.net/forums/newreply.php?p=10506357&noquote=1
'https://www.mrexcel.com/board/threads/list-all-references-in-workbook-vbproject.606440/
'https://www.developpez.net/forums/d1897839-2/logiciels/microsoft-office/excel/macros-vba-excel/mise-jour-addin-projet-vba/#post11721324
'https://stackoverflow.com/questions/39413928/excel-vba-checking-if-addin-is-installed-but-not-open
'Contribution de Philippe
'https://www.developpez.net/forums/d2098922/logiciels/microsoft-office/excel/contribuez/vba-macros-complementaires/
'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'Au 11 mai 2021: OK
Dim NbreRef As Integer, i As Integer
i = 1
Dim RemoveRef As Boolean
RemoveRef = False
With ThisWorkbook.VBProject
NbreRef = .References.Count
Do While RemoveRef = False And i <= NbreRef
Debug.Print i
If .References(i).Name = "LesCollab" Then
.References.Remove Reference:=.References(i)
RemoveRef = True
MsgBox Prompt:="Référence désactivée!", Buttons:=vbInformation, Title:="Gestion des Références."
Else
i = i + 1
End If
Loop
End With
Dim addin As Variant
Dim RemoveAddin As Boolean
RemoveAddin = False
Dim NbreAddins As Integer, j As Integer
j = 1
NbreAddins = Application.AddIns.Count
Do While RemoveAddin = False And j <= NbreAddins
With Application.AddIns(j)
If .Name = nom_long_xlam Then
.Installed = False
RemoveAddin = True
MsgBox Prompt:="Addin désinstallé!", Buttons:=vbInformation, Title:="Gestion des Addins."
Else
j = j + 1
End If
End With
Loop
'Mise à jour de l'addin dernière version dans le répertoire addins du collaborateur
Call maj_addins
'Installe la macro complémentaire dans l'environnement utilisateur VBE
Application.AddIns.Add(nom_full_xlam).Installed = True
'Active la macro complémentaire
ThisWorkbook.VBProject.References.AddFromFile (nom_full_xlam)
End Sub
Sub maj_addins()
Dim classeur_1 As String
classeur_1 = Rép_Source & "\" & nom_long_xlam
Dim classeur_2 As String
classeur_2 = Application.UserLibraryPath & nom_long_xlam
FileCopy classeur_1, classeur_2
MsgBox _
Prompt:="Références mises à jour"
End Sub |