Microsoft 365 VBA : utilisation MS VBA Extensibility 5.3

F22Raptor

XLDnaute Impliqué
Hello,
Grâce à Dranreb, j'ai découvert la référence Microsoft Visual Basic for Applications Extensibility 5.3
Elle devrait me permettre de supprimer des objets VBA comme des UserForms.

J'ai fait un petit fichier test.
Ce fichier charge en Workbook_Open la référence MS VBA Ext 5.3 (qui n'est pas activée par défaut).
Puis, après ouverture, on devrait pouvoir cliquer sur le bouton en haut à gauche, et en vérifiant dans l'éditeur VBA, le Userform1 devrait avoir disparu.
Ca c'est la théorie.
En pratique, il risque d'y avoir des bugs, car une option de sécurité doit être correctement cochée.

Pourriez-vous me dire si le clic bouton du fichier joint bugge chez vous ?
Sinon, le UF1 a-t-il bien disparu ?
Merci !
 

Pièces jointes

  • SupprUserform.xlsm
    51.1 KB · Affichages: 10

F22Raptor

XLDnaute Impliqué
Ce que je vais faire, c'est tester dans Workbook_Open si la sécurité macro est bien cochée, et si ce n'est pas le cas, message d'avertissement demandant de le faire.

Dim vbpName As String

On Error Resume Next
vbpName = ThisWorkbook.VBProject.Name
If vbpName = vbNullString Then MsgBox "Veuillez cocher ..."
 

job75

XLDnaute Barbatruc
Bonsoir F22Raptor, Bernard,

Chez moi (Excel 2013) il n'est pas du tout nécessaire d'activer la référence "Microsoft Visual Basic for Applications Extensibility 5.3 ".

J'ai simplement déclaré la variable VBComp As Object.

Ce qui par contre est impératif dans tous les cas c'est d'avoir coché l'option Accès approuvé au modèle d'objet du projet VBA.

Sinon l'accès au VBAProject est impossible par macro.

A+
 

Statistiques des forums

Discussions
312 202
Messages
2 086 177
Membres
103 152
dernier inscrit
Karibu