Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA - Comment savoir dans le code d'un UserForm s'il a été ouvert en vbModal ou vbModeless ?

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dudu2

XLDnaute Barbatruc
Bonjour,

La question est dans le titre.

Merci pour toute indication.

Bonne journée.
 
Dernière édition:
Solution
Tu as mis le doigt sur quelque chose d'inattendu !
Si Obj est un Frame TypeOf Obj Is UserForm = True !!!

Je trouve cela très étrange et je ne sais pas si cela fait sens mais je dirais que c'est un bug car le TypeOf Frame existe bel et bien.

Le bon code est donc:
VB:
'-------------------------------------
'Mode d'affichage du UserForm
'
'- Obj est soit un Control du UserForm
'          soit un UserForm
'
'- Return: vbModal (1)
'          vbModeless (0)
'          Erreur (-1)
'-------------------------------------
Function UserFormShowMode(ByVal Obj As Object) As Integer
    On Error Resume Next
    
    'Cherche l'objet au sommet de la hiérarchie
    Do While Err.Number = 0
        Set Obj =...
En fait j'ai stupidement ramé parce que j'avais pas fait de Err.Clear après la recherche de l'objet au sommet de la hiérarchie et je massérais dans cette erreur. Mais bon finalement, c'est super simple.
 
ben oui c'est simple
c'est ce que j'utilise dans mon placementusf dans mon calendar (on arrete a l'erreur .parent c'est tout)
comme quoi j'ai bien fait de te tarabiscoter quand même
là c'est universel et typeof ou typename bye!!bye!!
 
je vois que tu utilise encore un test typeof pour le -1 au cas ou l'object injecté serait n'importe quoi et n'aboutirais pas a un userform
je l'ai zappé dans ma version me semble t il
mais au moins là c'est bien le dernier des éléments tout en haut de la hiérarchie qui passe dans typeof

les deux font la paire 🤣 🤣
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
252
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…