Gestion userform avec groupe de boutons dynamiques sous vba

Soyez le premier à donner votre avis sur cette source.

Vue 19 101 fois - Téléchargée 2 843 fois

Description

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é

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mardi 30 mars 2010
Statut
Membre
Dernière intervention
24 octobre 2012

Merci du partage excellent travaille
Messages postés
8
Date d'inscription
mardi 19 octobre 2010
Statut
Membre
Dernière intervention
25 mars 2011

super top
merci
Messages postés
301
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
17 décembre 2017

Salut FOZAORANA,
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!
Messages postés
5
Date d'inscription
dimanche 25 octobre 2009
Statut
Membre
Dernière intervention
16 mai 2010

bonjour,
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.
Messages postés
301
Date d'inscription
lundi 27 février 2006
Statut
Membre
Dernière intervention
17 décembre 2017

Boboda,
Je viens de déposer sur le site une source qui devrait te convenir:
Elle s'appelle :
FORM AVEC BOUTONS DYNAMIQUES SOUS VB6.

Salut!
Afficher les 17 commentaires

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.