Microsoft 365 Option selon le userform actif

  • Initiateur de la discussion Initiateur de la discussion A-Jelil
  • 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 !

A-Jelil

XLDnaute Nouveau
Bonjour / Bonsoir !
Je souhaite faire prendre option selon mon formulaire (entre plusieurs) qui est actif. Par exemple :
IF usf (actif) est usf1 Then
Fais ceci
ElseIf usf (actif) est usf2 then
Fais cela ,,
Et ...
Que devrais-je faire, s'il vous ?
 
Solution
Si tu tiens absolument à valoriser DIRECTEMENT la TextBox du UserForm qui a appelé le UserForm Calendrier et NE PAS UTILISER la solution triviale de passer par une variable globale d'échange (variable Date ou Objet cible) dont je t'ai indiqué le principe en post #12 et sous forme d'exemple en post #13, il faut passer par une solution NON GÉNÉRIQUE qui effectivement utilise l'objet bien SPÉCIFIQUE: UserFormX.TextBoxY.Value.

A supposer que tes 2 ou 3 ou N UserForms ne sont pas chargés en même temps, et donc qu'un seul UserForm à TextBox soit chargé, j'ai ça qui pourrait t'aider.
VB:
'--------------------------
'Test si UserForm est actif
'--------------------------
Public Function IsUserFormLoaded(UserFormName As String) As...
Si tu tiens absolument à valoriser DIRECTEMENT la TextBox du UserForm qui a appelé le UserForm Calendrier et NE PAS UTILISER la solution triviale de passer par une variable globale d'échange (variable Date ou Objet cible) dont je t'ai indiqué le principe en post #12 et sous forme d'exemple en post #13, il faut passer par une solution NON GÉNÉRIQUE qui effectivement utilise l'objet bien SPÉCIFIQUE: UserFormX.TextBoxY.Value.

A supposer que tes 2 ou 3 ou N UserForms ne sont pas chargés en même temps, et donc qu'un seul UserForm à TextBox soit chargé, j'ai ça qui pourrait t'aider.
VB:
'--------------------------
'Test si UserForm est actif
'--------------------------
Public Function IsUserFormLoaded(UserFormName As String) As Boolean
    Dim UsF As Object

    For Each UsF In VBA.UserForms
        If UsF.Name = UserFormName Then Exit For
    Next UsF

    If Not UsF Is Nothing Then IsUserFormLoaded = True
End Function
Il faut bien sûr que tu testes SPÉCIFIQUEMENT chacun de tes UserFoms candidats via ce module.
Pourquoi faire simple ?
 
Dernière édition:
- 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
3
Affichages
301
Retour