Private Sub CommandButton7_Click() 'bouton créer un XLAM
CommandButton2_Click
Dim Wbk, frm, fichier$, codeevent, fichierxlam, modul, calling
fichier = Environ("userprofile") & "\Desktop\calendarTemp.xlsm"
On Error Resume Next
With ThisWorkbook.VBProject 'on deactive la reference si elle est active
.References.Remove .References("patricktoolcalendar")
End With
Err.Clear
Workbooks("calendar version 4.2.2.xlam").Close 'on ferme le xlam pour un déinstalation complete
Err.Clear
'on supprime le xlam
fichierxlam = Environ("AppData") & "\Microsoft\AddIns" & "\calendar version " & vers & ".xlam"
If Dir(fichierxlam) <> "" Then Kill fichierxlam
Err.Clear
frm = Environ("userprofile") & "\DeskTop\Calendar.frm": ThisWorkbook.VBProject.VBComponents("Calendar").Export frm
If Err.Number > 0 Then MsgBox "l'export temporaire sur le bureau du calendrier a echoué": Exit Sub
Application.ScreenUpdating = False
Set Wbk = Workbooks.Add
Application.DisplayAlerts = False
Wbk.SaveAs Filename:=fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.DisplayAlerts = True
Wbk.VBProject.VBComponents.Import frm
Set modul = Wbk.VBProject.VBComponents.Add(1)
modul.Name = "CallPublicCalendar"
calling = "Public Function calendrier(Optional objX As Variant, Optional Side As Long = 2, Optional top As Long = 0, Optional optionRegionale As Long = 1000)" & vbCrLf
calling = calling & "calendrier=calendar.showx(objx,side,top,optionRegionale)" & vbCrLf
calling = calling & "end function"
With Wbk.VBProject.VBComponents.Item("CallPublicCalendar").CodeModule
.AddFromString calling
End With
Wbk.VBProject.Name = "PatricktoolCalendar"
Wbk.VBProject.Description = " calendrier multilingue modal et responsif"
Wbk.Save
If Dir(fichierxlam) <> "" Then Kill fichierxlam
Wbk.SaveAs Filename:=fichierxlam, FileFormat:=xlOpenXMLAddIn
Wbk.Close
Kill frm
Kill Replace(frm, ".frm", ".frx")
Kill fichier
MsgBox " Création du XLAM reussi!"
End Sub