VBA - control array [Résolu]

Messages postés
201
Date d'inscription
mardi 7 octobre 2003
Dernière intervention
10 mai 2016
- - Dernière réponse : cs_etniqs
Messages postés
201
Date d'inscription
mardi 7 octobre 2003
Dernière intervention
10 mai 2016
- 27 févr. 2006 à 18:44
Salut à tous,

Il est facile de faire des arrays de controls (label(0) par ex en vb (copier coller - voulez-vous créer un array ...),... et puis d'en rajouter à volonter dans le code (load label...)

mais en VBA ? faire copier coller ajoute un label2 mais pas un array ...
comment faire en lignes de code ?

merci à tous ....
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
25
3
Merci
Bonsoir,

Ce code crée des Labels dynamiques (pas de propriété Click)



Option Explicit

Dim Mycmd As Control



Private Sub UserForm_Initialize()

Set Mycmd = Controls.Add("Forms.Label.1")

Mycmd.Left = 10

Mycmd.Top = 10

Mycmd.Width = 175

Mycmd.Height = 20

Mycmd.Caption = "C’est amusant."

Set Mycmd = Controls.Add("Forms.Label.1")

Mycmd.Top = 30

Mycmd.Left = 10

Mycmd.Width = 175

Mycmd.Height = 20

Mycmd.Caption = "Deuxième Label"

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 93 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
25
0
Merci
Bonjour,

En VBA, tu ne sais pas créer des groupes de contrôle.



jpleroisse
Commenter la réponse de jpleroisse
Messages postés
14377
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
3 février 2019
153
0
Merci
Bonjour

En VBA, pas de groupes de controles, mais tu peux essayer en les créants dynamiquement (là je propose, mais je ne sais pas le faire).
Rappel-toi que VBA est un VB mais il ne sais pas faire tout ce que VB6 sait faire.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
Commenter la réponse de NHenry
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Dernière intervention
11 mars 2006
25
0
Merci
Re,

Ce code fonctionne avec Excel 97, je ne sais pas avec des versions suppérieurs.



jpleroisse
Commenter la réponse de jpleroisse
Messages postés
201
Date d'inscription
mardi 7 octobre 2003
Dernière intervention
10 mai 2016
0
Merci
yep, cela fonctionne d'autant plus que j'étais justement en train de le mettre en ligne, avec une variante : pour exporter , tu dois mettre le lien complet des classes :

Dim lbl As MSForms.Label
Set lbl = UserForm1.Controls.Add("forms.label.1", , True)
Commenter la réponse de cs_etniqs

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.