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

Microsoft 365 Masquer la boite à outil contrôle en VBA

chagatte

XLDnaute Nouveau
Bonjour,

J'ai voulu créer une todo list en VBA. Pour ce faire, je créé et supprime des contrôles dynamiquement en VBA (label, checkbox et button). Tout fonctionne mais j'ai un problème d'afffichage qui me chagrine. En effet, lorsque je mets à jour l'affichage de la todolist, je supprime tous les contrôles, et les fais réapparaître. Or lorsque j'agis dynamiquement pour supprimer les contrôles, j'ai la boîte à outil contrôles qui apparaît. Voici le code :

VB:
Sub ClearFrameControls(frame As MSForms.frame)
    Dim ctrl As MSForms.Control
    
    For Each ctrl In frame.Controls
     Debug.Print ctrl.Name
        ctrl.Visible = False


        frame.Controls.Remove ctrl.Name


        Set ctrl = Nothing


    Next ctrl




End Sub

C'est l'instruction frame.Controls.Remove ctrl.Name qui fait apparaître le boite à outil. C'est pénible pour l'utilisateur. Est-ce quelqu'un a une idée pour la masquer si elle apparaît ?

Merci à vous,
 

Lolote83

XLDnaute Barbatruc
Bonjour @chagatte
Un petit fichier joint (sans donnée confidentielle) laissant apparaitre ton problème serait le bienvenu.
S'il le faut, quelques copies d'écran représentatives du phénomène pourrait aider les différents contributeurs à mieux cibler ta demande.
Le fichier joint aiderait aussi ceux qui souhaitent tester chez eux, si ce problème se produit aussi sur leur PC.
Cordialement
@+ Lolote83
 

dysorthographie

XLDnaute Accro
Bonjour,


C'est l'instruction frame.Controls.Remove ctrl.Name qui fait apparaître le boite à outil. C'est pénible pour l'utilisateur. Est-ce quelqu'un a une idée pour la masquer si elle apparaît ?

Merci à vous,
Bonjour,
Supprimes les contrôles directement dans la source du formulaire et tu n'auras pas à les supprimer dynamiquement mais seulement à les ajouter dynamiquement !
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…