begin process at 2012 02 14 05:45:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

VBA

 > GESTION USERFORM AVEC GROUPE DE BOUTONS DYNAMIQUES SOUS VBA

GESTION USERFORM AVEC GROUPE DE BOUTONS DYNAMIQUES SOUS VBA


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :VBA Classé sous :userform, bouton, dynamique Niveau :Débutant Date de création :26/01/2007 Date de mise à jour :31/01/2007 18:12:12 Vu / téléchargé :15 745 / 2 416

Auteur : mimiZanzan

Ecrire un message privé
Commentaire sur cette source (16)
Ajouter un commentaire et/ou une note

 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é

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • GroupeBoutons_dynamiques.xlsTélécharger ce fichier [Réservé aux membres club]88 576 octets

Télécharger le zip


 Historique

31 janvier 2007 18:12:12 :
J'ai modifié ce code pour rendre vraiment la boite à bouton dynamique: on peut modifier le nombre de bouton,leur taille, et leur disposition, et la boite s'ajustera automatiquement. Comme je n'ai reçu aucun commentaire, il est possible que ce code ne passionne pas les foules... Je sais que ce n'est que du VBA, mais c'est facilement transposable en VB6.

 Sources du même auteur

Source avec Zip SUIVI SCORES ET CLASSEMENTS SCRABBLE
Source avec Zip FEU D'ARTIFICE SOUS EXCEL VBA
Source avec Zip ACCÈS PAR MOT DE PASSE À FEUILLE EXCEL
Source avec Zip MANIPULATIONS FORMES SUR GRAPHES EXCEL AVEC VBA
Source avec Zip AJUSTEMENT USERFORM VBA À CELLULE FEUILLE EXCEL

 Sources de la même categorie

Source avec Zip GESTION PERSONNEL par oudlarbi
Source avec Zip Source avec une capture CALENDRIER EN VBA POUR EXCEL 2010 par nounou94
Source avec Zip Source avec une capture MANIPULER LES FENETRES ENFANT D'EXCEL par bigfish_le vrai
Source avec Zip Source avec une capture COLLECTION ID par Le Pivert
Source avec Zip Source avec une capture VBA MASQUE DE SAISIE NUMÉRIQUE par acive

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CALENDRIER EN VBA POUR EXCEL 2010 par nounou94
Source avec Zip Source avec une capture DÉPLACEMENT AVEC FLÈCHES DANS UN PAVÉ DE TEXTBOX 9X9 DYNAMIQ... par EhJoe
Source avec Zip Source .NET (Dotnet) DESSINER DYNAMIQUEMENT SUR UNE PICTUREBOX LIKE PAINTE par xave4552
Source avec Zip Source avec une capture Source .NET (Dotnet) BOUTON PERSO par genesys
Source avec Zip Source avec une capture Source .NET (Dotnet) CRÉATION DYNAMIQUE DE BOUTONS VB.NET 2003 par jcvid2

Commentaires et avis

Commentaire de mirmoleboss le 12/02/2007 08:15:57

le programme en lui meme est bien mais il peu claire dans la partie code

Commentaire de Dracdlog le 26/03/2007 10:00:52

bonjour, et bien ton petit prog est sympa, il peut aider a faire certaine chose.
Voila bonne journée ;-)

Commentaire de jullouyot_46 le 16/05/2007 15:27:33

Joli !

le programme fait, à priori ce dont j'ai besoin...
je cherche à créer des controles (textbox et label) sur un form, à partir d'une liste (colonne d'une feuille de mon classeur Excel).

ex: la colone 1 de la feuille CONTROLES a 2 cellules: type, commande.
en lançant le form, il doit comporter 2 label ("type" et "commande") avec en face un textbox.

********

Ce que je ne comprend pas dans ce code, c'est l'utilisation d'objets range.
Est ce qu'on ne peut pas ajouter directement un controle, et en spécifier les caractéristiques ? (position, nom, caption, ...)

J'ai trouvé ce bout de code par ailleurs, que je ne parviens pas à exploiter:

Dim Txtbox1 as Object
Set TxtBox1 = Form.Designer.Controls.Add("forms.textbox.1" )
With TxtBox1
  .Left = 60
  .Top = 20
End With

Commentaire de mimiZanzan le 18/05/2007 23:55:26

J'ai fait ce code pour des boutons, mais on peut faire de même pour des textbox ou tout autre contrôle en l'adaptant.J'ai des exemples si besoin.
L'utilisation des objets range est uniquement pour la mémorisation des boutons et de leurs propriétés (nb,dimension). J'ai mentionné dans la description du code ci-dessus qu'on pouvait utiliser d'autres moyens (registre, fichiers, tableaux nommés,etc).
Au sujet de ton bout de code, il faut utiliser
Set Txtbox1 = Form.Controls.Add("forms.textbox.1")
car Designer n'existe pas sous VBA.

J'espère que celà te servira.

Commentaire de jeannicolas1 le 30/05/2007 19:35:04

Salut,

Ton code est vraiment super, je suis débutant en VBA est je cherche à créer une boite de dialogue avec un nombre de textbox variable.

Le nombre de textbox est défini suivant deux variables propres à mon problème:

Le nombre de pièces par échantillon & le nombre d'échantillons.

Mais j'aimerais aussi, pouvoir les recopier sur une page Excel, pour pouvoir travailler les valeurs.

Pour Exemple:

            | Pièce N°1| Pièce N°2| Pièce N°3
            | -------------------------------
Echant N°1  |    23    |     21   |    22
---------------------------------------------
Echant N°2  |    19    |     20   |    23
---------------------------------------------
Echant N°3  |    21    |     18   |    22
---------------------------------------------

J'aimerais pouvoir faire ce tableau qui sera variable dans un
userform avec des barres de défilements.

J'espère que ma demande est compréhensible, et merci d'avance pour ta réponse que elle m'est très précieuse.

Merci encors

Commentaire de skiman001 le 01/06/2007 14:52:10

salut, super ton code; il faut que l'adapte à mon pb mais après des tests, cela devrait se faire sans pb; continu comme ca;

Commentaire de mimiZanzan le 02/06/2007 22:46:35

jeannicolas1,
je vais préparer un code qui devrait répondre à ton besoin.
Je le mettrai bientôt sur le site Code Sources VB, au cas où çà intéresse d'autres personnes.
Surveille son arrivée...
A bientôt.

Commentaire de jeannicolas1 le 06/06/2007 07:36:51

Merci beaucoup par ton aide!

Commentaire de ericyakam2008 le 21/06/2008 12:47:18

BRAVO pour ton aplicatif, je l'aime. Mais, subsiste un doute!
Comment le faire fonctionner dans un programme?

Commentaire de mimiZanzan le 11/07/2008 19:46:03

ERICYAKAM2008,
Je ne comprends pas ton commentaire...
Il suffit d'avoir besoin d'une boite avec un nb de boutons variable et d'adapter la procédure
Private Sub GroupeBtn_Click()
dans le code du module de classe.

Commentaire de boboda le 02/10/2008 15:34:46 9/10

C'est très bon comme code, je te donne 9/10. Mais Est-ce que tu pourrai le retranscrir en VB, je suis débutant en VB en je suis pas familier avec VBA.

Commentaire de mimiZanzan le 02/10/2008 16:35:31

Salut BOBODA,
Merci d'abord pour ta bonne appréciation: çà fait tj plaisir!
En ce qui concerne ta demande, je te signale que j'ai déjà déposé une source de ce genre sous VB6, il s'agit du code "CRÉATION DE CONTRÔLES DYNAMIQUE" du 19/05/07.
Tu peux t'en inspirer pour tes besoins, sachant que pour sauvegarder tes paramètres (noms contrôles, nombre, taille, etc), il faudra utiliser un fichier annexe car VB6 ne possède pas de feuilles de calcul, bien pratiques pour ceci.
En tout cas, çà te fera un bon exercice pour progresser en VB6...
Bon courage.
Cordialement

Commentaire de mimiZanzan le 07/10/2008 18:32:10

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!

Commentaire de FOZAORANA le 11/11/2009 22:48:38

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.

Commentaire de mimiZanzan le 12/11/2009 00:37:31

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!

Commentaire de lucasgaetan le 23/03/2011 11:23:50 10/10

super top
merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

boutons disparaissant dans l'userform [ par Dédé ] Bonjour à tous,J'ai un petit pb avec mes uderform qui m'a pris la tête toute l'après midi. Alors plutôt que de balancer mon ordiateur par la fenêtre, chargement dynamique d'activex [ par dualite2 ] slt moi je cherche le moyen de creer pendant l'execution du programme de nouveau controle winsock en partant du principe qu'il y a déja un controle wi comment créer des bouton dynamique sous acce [ par bdpatrice ] comment peut on faire pour créer (n) boutons dynamique avec événements dynamique aussi. sous Access97 et ou 2000 comment créer des bouton dynamique sous acce [ par bdpatrice ] comment peut on faire pour créer (n) boutons dynamique avec événements dynamique aussi. sous Access97 et ou 2000 comment créer des bouton dynamique sous acce [ par bdpatrice ] comment peut on faire pour créer (n) boutons dynamique avec événements dynamique aussi. sous Access97 et ou 2000 comment créer des bouton dynamique sous access [ par bdpatrice ] comment peut on faire pour créer (n) boutons dynamique avec événements dynamique aussi. sous Access97 et ou 2000 Contrôle dynamique ! [ par pierre63 ] Bonjour,j'ai un bouton qui apparait grace au controle dynamique mais j'aimerais savoir comment on fait un evenement clic sur ce bouton ?Merci ! lien entre feuille excel et userform [ par guigui88800 ] es-ce que l'on peut faire un lien entre une feuille excel et un userform, je m'explique,j'ai un userform avec un textbox et un bouton.le bouton me cac Activation de bouton dynamique [ par couz01 ] bonjour,j'aimerais savoir si il est possible de créer des boutons (commandButton) dynamique, c'est a dire les créer en ligne de commande.Sachant que userform dynamique sous excel [ par vousvous ] salut,j'aimerais savoir s'il est possible sous vba excel de créer un userform dynamique càd : j'ai un userform et un textbox dedans. Lorsque l'utilisa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 9,360 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales