J'ai fait ce code car j'ai eu besoin d'une boite où un utilisateur pouvait ajouter, supprimer, ou renommer des boutons à sa guise dans un userform VBA, tout en conservant ces boutons dans un groupe possédant les propriétés d'un CommandBouton, et en sauvegardant la nouvelle boite pour utilisation ultérieure.
Les sauvegardes des boutons est faite tout simplement ici dans une feuille de calcul Excel (cachée), mais il est évident que l'on peut utiliser tout autre moyen (fichier annexe,registre, attribution d'un nom à un tableau, etc.)
Le nombre est limité dans mon cas à 12 boutons, mais on peut facilement modifier le code pour changer ce nombre.
On peut même faire un userform de dimension automatiquement adaptée au nb de boutons choisi.
Je la lègue aux fidèles de Codes-Sources au cas où ceci pourrait servir à quelqu'un...
Tout commentaire sera bienvenu.
(ceci est une nouvelle version, voir l'explication mise à jour)
Conclusion :
Le code est commenté
24 oct. 2012 à 09:23
23 mars 2011 à 11:23
merci
12 nov. 2009 à 00:37
Pour un multipage, il faut modifier la partie de code concernant la construction des boutons dans la feuille frmBtn:
remplacer:
Set m_Btn = Me.Controls.Add("Forms.CommandButton.1", , True)
par:
Set m_Btn = MultiPage1.Pages(0).Add("Forms.CommandButton.1", , True)
pour la 1ère feuille par exemple, et si ton contrôle se nomme MultiPage1.
Ca devrait marcher, mais n'oublie de redimensionner aussi le contrôle MultiPage1 en même temps que la form.
Il y a sans doute qq autres adaptations que je te laisse le soin de faire...
Il faudra aussi créer un groupe de bouton par page du contrôle multipage (déclaration Dim Bouton0() As New GrBtn pour la page indice 0 par ex).
Bonne chance!
11 nov. 2009 à 22:48
il est super ton code, il m'a beaucoup aidé.
dis moi! est il possible de créer les bouton sur un multipage et non sur l'userform direct? merci de me répondre.
7 oct. 2008 à 18:32
Je viens de déposer sur le site une source qui devrait te convenir:
Elle s'appelle :
FORM AVEC BOUTONS DYNAMIQUES SOUS VB6.
Salut!
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.