Bonjour,
Pour qu'un programme Vba fonctionne correctement, l'option Excel "Accès approuvé au modèle d'objet du projet VBA" doit être cochée.
Voici une petite macro qui permet de savoir si c'est le cas. (A placer dans Workbook_Open par exemple)
' Vérif si l'accès par programme au projet Vba est coché
Dim i as integer, a$
With Application
On Error Resume Next
' On tente d'ouvrir la fenêtre VBA
If .VBE.MainWindow.Visible = True Then ' Erreur si non coché
' On ne fait rien
End If
i = Err.Number : a$ = "Erreur " & i & " : " & Err.Description
On Error GoTo 0
If i <> 0 Then ' Erreur 1004 ou autre
MsgBox a$, vbCritical,"Test"
GoTo Quitte
End If
' Case cochée, on referme la fenêtre VBA (elle doit être masquée pour l'utilisateur final)
.VBE.MainWindow.Visible = False
End with
' Suite ...
Quitte :
' Fermeture du classeur ...
A adapter à votre projet bien-sûr.
Bonne journée