OVH Cloud OVH Cloud

controle dynamique

7 réponses
Avatar
aurelien
bonjour,

comment peut on creer un textbox ou un label de facon dynamique ?(avec vb6
sous excel)
j'ai ecumé tous les forums, je n'ai rien trouvé :'(

merci beaucoup de votre reponse

7 réponses

Avatar
Jo-Soupin
bonjour aurelien,

pour créer des contrôles sur une feuille Excel, utilise
l'enregistreur, tu obtiendras un code du style :
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1", Link:úlse, _
DisplayAsIcon:úlse, Left:2.75, Top:T.75, Width:2. 25,
Height _
:(.5).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:úlse,
_
DisplayAsIcon:úlse, Left:6.75, Top:0.25, Width:0 .5,
Height _
:W.75).Select

ou va voir F.Sigounneau pour créer sur un Userform
http://frederic.sigonneau.free.fr/Objets.htm
http://frederic.sigonneau.free.fr/code/objets/AjoutBoutonUsuerform.txt
http://frederic.sigonneau.free.fr/code/objets/CreeUserformAvecBouton.txt

friendly



bonjour,

comment peut on creer un textbox ou un label de facon dynamique ?(avec vb6
sous excel)
j'ai ecumé tous les forums, je n'ai rien trouvé :'(

merci beaucoup de votre reponse


Avatar
Aurélien
merci beaucoup pour ton aide, cependant je crois que j'ai oublié de préciser
que je travailler sur une userform.

le truc, c'est que j'ai des dates de début et de fin de chantier et
j'aimerais pouvoir créer une image ou un labelbox pour chaque période car à
priori je ne sais absolument pas comment j'aurais à en mettre ni la limite
maximun dont peut avoir besoin l'utilisateur

ce que je veux faire, l'idéal, serais pouvoir de faire des groupes de
controles (donc pouvoir utiliser les index) mais dans vb6 je ne trouve pas
comment faire alors que je le faisais tres bien avec office97 (mince alors,
ils l'ont peu etre enlevé entre deux, comme a disparu le module diaporama en
réseau sous powerpoint :( )

si tu as des idées concernant mon probléme qui je l'espére t'apparait
clairement maintenant, merci de me faire signe

et en tous cas, merci pour ta réponse rapide, les participants à ce
newsgroup sont toujours trés doués et trés sympa merci à tous

cordialement
A. Duchamp


bonjour aurelien,

pour créer des contrôles sur une feuille Excel, utilise
l'enregistreur, tu obtiendras un code du style :
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1", Link:úlse, _
DisplayAsIcon:úlse, Left:2.75, Top:T.75, Width:2.25,
Height _
:(.5).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:úlse,
_
DisplayAsIcon:úlse, Left:6.75, Top:0.25, Width:0..5,
Height _
:W.75).Select

ou va voir F.Sigounneau pour créer sur un Userform
http://frederic.sigonneau.free.fr/Objets.htm
http://frederic.sigonneau.free.fr/code/objets/AjoutBoutonUsuerform.txt
http://frederic.sigonneau.free.fr/code/objets/CreeUserformAvecBouton.txt

friendly



bonjour,

comment peut on creer un textbox ou un label de facon dynamique ?(avec vb6
sous excel)
j'ai ecumé tous les forums, je n'ai rien trouvé :'(

merci beaucoup de votre reponse






Avatar
MPi
Salut Aurélien,

À ce que je sache, on ne peut pas utiliser d'Index pour les contrôles VBA
comme on le fait en VB.
Par contre, on peut utiliser une variable en guise d'Index.

Voici un bout de code qui ajoute des Textbox à un Userform, ajuste leurs
dimensions et y place du texte

Sub MaMacro()
AjoutTextBox 7 'Nombre de contrôles à ajouter
End Sub

Sub AjoutTextBox(Nombre As Integer)
Dim I As Integer

For I = 0 To Nombre
UserForm1.Controls.Add "Forms.TextBox.1", "Text" & I, True
UserForm1.Controls("Text" & I).Text = " Contrôle Text " & I
UserForm1.Controls("Text" & I).Left = 10
UserForm1.Controls("Text" & I).Width = 100
UserForm1.Controls("Text" & I).Height = 20
UserForm1.Controls("Text" & I).Top = (20 * I) + 10
Next

UserForm1.Height = (20 * I) + 40
UserForm1.Show
End Sub

Michel

"Aurélien" a écrit dans le message de
news:
merci beaucoup pour ton aide, cependant je crois que j'ai oublié de
préciser

que je travailler sur une userform.

le truc, c'est que j'ai des dates de début et de fin de chantier et
j'aimerais pouvoir créer une image ou un labelbox pour chaque période car
à

priori je ne sais absolument pas comment j'aurais à en mettre ni la limite
maximun dont peut avoir besoin l'utilisateur

ce que je veux faire, l'idéal, serais pouvoir de faire des groupes de
controles (donc pouvoir utiliser les index) mais dans vb6 je ne trouve pas
comment faire alors que je le faisais tres bien avec office97 (mince
alors,

ils l'ont peu etre enlevé entre deux, comme a disparu le module diaporama
en

réseau sous powerpoint :( )

si tu as des idées concernant mon probléme qui je l'espére t'apparait
clairement maintenant, merci de me faire signe

et en tous cas, merci pour ta réponse rapide, les participants à ce
newsgroup sont toujours trés doués et trés sympa merci à tous

cordialement
A. Duchamp


bonjour aurelien,

pour créer des contrôles sur une feuille Excel, utilise
l'enregistreur, tu obtiendras un code du style :
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1", Link:úlse, _
DisplayAsIcon:úlse, Left:2.75, Top:T.75, Width:2.25,
Height _
:(.5).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:úlse,
_
DisplayAsIcon:úlse, Left:6.75, Top:0.25, Width:0..5,
Height _
:W.75).Select

ou va voir F.Sigounneau pour créer sur un Userform
http://frederic.sigonneau.free.fr/Objets.htm
http://frederic.sigonneau.free.fr/code/objets/AjoutBoutonUsuerform.txt
http://frederic.sigonneau.free.fr/code/objets/CreeUserformAvecBouton.txt

friendly



bonjour,

comment peut on creer un textbox ou un label de facon dynamique ?(avec
vb6



sous excel)
j'ai ecumé tous les forums, je n'ai rien trouvé :'(

merci beaucoup de votre reponse








Avatar
aurelien
merci beaucoup michel, ca m'enleve un gros problémes !


Salut Aurélien,

À ce que je sache, on ne peut pas utiliser d'Index pour les contrôles VBA
comme on le fait en VB.
Par contre, on peut utiliser une variable en guise d'Index.

Voici un bout de code qui ajoute des Textbox à un Userform, ajuste leurs
dimensions et y place du texte

Sub MaMacro()
AjoutTextBox 7 'Nombre de contrôles à ajouter
End Sub

Sub AjoutTextBox(Nombre As Integer)
Dim I As Integer

For I = 0 To Nombre
UserForm1.Controls.Add "Forms.TextBox.1", "Text" & I, True
UserForm1.Controls("Text" & I).Text = " Contrôle Text " & I
UserForm1.Controls("Text" & I).Left = 10
UserForm1.Controls("Text" & I).Width = 100
UserForm1.Controls("Text" & I).Height = 20
UserForm1.Controls("Text" & I).Top = (20 * I) + 10
Next

UserForm1.Height = (20 * I) + 40
UserForm1.Show
End Sub

Michel

"Aurélien" a écrit dans le message de
news:
merci beaucoup pour ton aide, cependant je crois que j'ai oublié de
préciser

que je travailler sur une userform.

le truc, c'est que j'ai des dates de début et de fin de chantier et
j'aimerais pouvoir créer une image ou un labelbox pour chaque période car
à

priori je ne sais absolument pas comment j'aurais à en mettre ni la limite
maximun dont peut avoir besoin l'utilisateur

ce que je veux faire, l'idéal, serais pouvoir de faire des groupes de
controles (donc pouvoir utiliser les index) mais dans vb6 je ne trouve pas
comment faire alors que je le faisais tres bien avec office97 (mince
alors,

ils l'ont peu etre enlevé entre deux, comme a disparu le module diaporama
en

réseau sous powerpoint :( )

si tu as des idées concernant mon probléme qui je l'espére t'apparait
clairement maintenant, merci de me faire signe

et en tous cas, merci pour ta réponse rapide, les participants à ce
newsgroup sont toujours trés doués et trés sympa merci à tous

cordialement
A. Duchamp


bonjour aurelien,

pour créer des contrôles sur une feuille Excel, utilise
l'enregistreur, tu obtiendras un code du style :
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1", Link:úlse, _
DisplayAsIcon:úlse, Left:2.75, Top:T.75, Width:2.25,
Height _
:(.5).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:úlse,
_
DisplayAsIcon:úlse, Left:6.75, Top:0.25, Width:0..5,
Height _
:W.75).Select

ou va voir F.Sigounneau pour créer sur un Userform
http://frederic.sigonneau.free.fr/Objets.htm
http://frederic.sigonneau.free.fr/code/objets/AjoutBoutonUsuerform.txt
http://frederic.sigonneau.free.fr/code/objets/CreeUserformAvecBouton.txt

friendly



bonjour,

comment peut on creer un textbox ou un label de facon dynamique ?(avec
vb6



sous excel)
j'ai ecumé tous les forums, je n'ai rien trouvé :'(

merci beaucoup de votre reponse













Avatar
Aurélien
juste une petite question subsidiaire
serait-il possible de gérer l'évenement click des controls ainsi crées ?

merci d'avance de tout réponse
cordialement
A. DUCHAMP


Salut Aurélien,

À ce que je sache, on ne peut pas utiliser d'Index pour les contrôles VBA
comme on le fait en VB.
Par contre, on peut utiliser une variable en guise d'Index.

Voici un bout de code qui ajoute des Textbox à un Userform, ajuste leurs
dimensions et y place du texte

Sub MaMacro()
AjoutTextBox 7 'Nombre de contrôles à ajouter
End Sub

Sub AjoutTextBox(Nombre As Integer)
Dim I As Integer

For I = 0 To Nombre
UserForm1.Controls.Add "Forms.TextBox.1", "Text" & I, True
UserForm1.Controls("Text" & I).Text = " Contrôle Text " & I
UserForm1.Controls("Text" & I).Left = 10
UserForm1.Controls("Text" & I).Width = 100
UserForm1.Controls("Text" & I).Height = 20
UserForm1.Controls("Text" & I).Top = (20 * I) + 10
Next

UserForm1.Height = (20 * I) + 40
UserForm1.Show
End Sub

Michel

"Aurélien" a écrit dans le message de
news:
merci beaucoup pour ton aide, cependant je crois que j'ai oublié de
préciser

que je travailler sur une userform.

le truc, c'est que j'ai des dates de début et de fin de chantier et
j'aimerais pouvoir créer une image ou un labelbox pour chaque période car
à

priori je ne sais absolument pas comment j'aurais à en mettre ni la limite
maximun dont peut avoir besoin l'utilisateur

ce que je veux faire, l'idéal, serais pouvoir de faire des groupes de
controles (donc pouvoir utiliser les index) mais dans vb6 je ne trouve pas
comment faire alors que je le faisais tres bien avec office97 (mince
alors,

ils l'ont peu etre enlevé entre deux, comme a disparu le module diaporama
en

réseau sous powerpoint :( )

si tu as des idées concernant mon probléme qui je l'espére t'apparait
clairement maintenant, merci de me faire signe

et en tous cas, merci pour ta réponse rapide, les participants à ce
newsgroup sont toujours trés doués et trés sympa merci à tous

cordialement
A. Duchamp


bonjour aurelien,

pour créer des contrôles sur une feuille Excel, utilise
l'enregistreur, tu obtiendras un code du style :
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1", Link:úlse, _
DisplayAsIcon:úlse, Left:2.75, Top:T.75, Width:2.25,
Height _
:(.5).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:úlse,
_
DisplayAsIcon:úlse, Left:6.75, Top:0.25, Width:0..5,
Height _
:W.75).Select

ou va voir F.Sigounneau pour créer sur un Userform
http://frederic.sigonneau.free.fr/Objets.htm
http://frederic.sigonneau.free.fr/code/objets/AjoutBoutonUsuerform.txt
http://frederic.sigonneau.free.fr/code/objets/CreeUserformAvecBouton.txt

friendly



bonjour,

comment peut on creer un textbox ou un label de facon dynamique ?(avec
vb6



sous excel)
j'ai ecumé tous les forums, je n'ai rien trouvé :'(

merci beaucoup de votre reponse













Avatar
Aurélien
2° petite questions subsidiaire, aprés c'est promis, je peux m'en débrouiller
de ce que je veux faire ! :)

comment enlever le textbox creer de facon dynamique ? enfin si c'est
possible biensur !

merci beaucoup
A. DUCHAMP


Salut Aurélien,

À ce que je sache, on ne peut pas utiliser d'Index pour les contrôles VBA
comme on le fait en VB.
Par contre, on peut utiliser une variable en guise d'Index.

Voici un bout de code qui ajoute des Textbox à un Userform, ajuste leurs
dimensions et y place du texte

Sub MaMacro()
AjoutTextBox 7 'Nombre de contrôles à ajouter
End Sub

Sub AjoutTextBox(Nombre As Integer)
Dim I As Integer

For I = 0 To Nombre
UserForm1.Controls.Add "Forms.TextBox.1", "Text" & I, True
UserForm1.Controls("Text" & I).Text = " Contrôle Text " & I
UserForm1.Controls("Text" & I).Left = 10
UserForm1.Controls("Text" & I).Width = 100
UserForm1.Controls("Text" & I).Height = 20
UserForm1.Controls("Text" & I).Top = (20 * I) + 10
Next

UserForm1.Height = (20 * I) + 40
UserForm1.Show
End Sub

Michel

"Aurélien" a écrit dans le message de
news:
merci beaucoup pour ton aide, cependant je crois que j'ai oublié de
préciser

que je travailler sur une userform.

le truc, c'est que j'ai des dates de début et de fin de chantier et
j'aimerais pouvoir créer une image ou un labelbox pour chaque période car
à

priori je ne sais absolument pas comment j'aurais à en mettre ni la limite
maximun dont peut avoir besoin l'utilisateur

ce que je veux faire, l'idéal, serais pouvoir de faire des groupes de
controles (donc pouvoir utiliser les index) mais dans vb6 je ne trouve pas
comment faire alors que je le faisais tres bien avec office97 (mince
alors,

ils l'ont peu etre enlevé entre deux, comme a disparu le module diaporama
en

réseau sous powerpoint :( )

si tu as des idées concernant mon probléme qui je l'espére t'apparait
clairement maintenant, merci de me faire signe

et en tous cas, merci pour ta réponse rapide, les participants à ce
newsgroup sont toujours trés doués et trés sympa merci à tous

cordialement
A. Duchamp


bonjour aurelien,

pour créer des contrôles sur une feuille Excel, utilise
l'enregistreur, tu obtiendras un code du style :
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1", Link:úlse, _
DisplayAsIcon:úlse, Left:2.75, Top:T.75, Width:2.25,
Height _
:(.5).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1", Link:úlse,
_
DisplayAsIcon:úlse, Left:6.75, Top:0.25, Width:0..5,
Height _
:W.75).Select

ou va voir F.Sigounneau pour créer sur un Userform
http://frederic.sigonneau.free.fr/Objets.htm
http://frederic.sigonneau.free.fr/code/objets/AjoutBoutonUsuerform.txt
http://frederic.sigonneau.free.fr/code/objets/CreeUserformAvecBouton.txt

friendly



bonjour,

comment peut on creer un textbox ou un label de facon dynamique ?(avec
vb6



sous excel)
j'ai ecumé tous les forums, je n'ai rien trouvé :'(

merci beaucoup de votre reponse













Avatar
MPi
Salut,

Si tu connais le nom du contrôle, tu peux faire ainsi

UserForm1.Controls.Remove "Text3" ' où Text3 est le nom donné lors de la
création dynamique

Le problème est de définir lequel des contrôles doit être éliminé... et
aussi de vérifier si le contrôle existe bien auparavant.

Michel

"Aurélien" a écrit dans le message de
news:
2° petite questions subsidiaire, aprés c'est promis, je peux m'en
débrouiller

de ce que je veux faire ! :)

comment enlever le textbox creer de facon dynamique ? enfin si c'est
possible biensur !

merci beaucoup
A. DUCHAMP


Salut Aurélien,

À ce que je sache, on ne peut pas utiliser d'Index pour les contrôles
VBA


comme on le fait en VB.
Par contre, on peut utiliser une variable en guise d'Index.

Voici un bout de code qui ajoute des Textbox à un Userform, ajuste leurs
dimensions et y place du texte

Sub MaMacro()
AjoutTextBox 7 'Nombre de contrôles à ajouter
End Sub

Sub AjoutTextBox(Nombre As Integer)
Dim I As Integer

For I = 0 To Nombre
UserForm1.Controls.Add "Forms.TextBox.1", "Text" & I, True
UserForm1.Controls("Text" & I).Text = " Contrôle Text " & I
UserForm1.Controls("Text" & I).Left = 10
UserForm1.Controls("Text" & I).Width = 100
UserForm1.Controls("Text" & I).Height = 20
UserForm1.Controls("Text" & I).Top = (20 * I) + 10
Next

UserForm1.Height = (20 * I) + 40
UserForm1.Show
End Sub

Michel

"Aurélien" a écrit dans le message
de


news:
merci beaucoup pour ton aide, cependant je crois que j'ai oublié de
préciser

que je travailler sur une userform.

le truc, c'est que j'ai des dates de début et de fin de chantier et
j'aimerais pouvoir créer une image ou un labelbox pour chaque période
car



à
priori je ne sais absolument pas comment j'aurais à en mettre ni la
limite



maximun dont peut avoir besoin l'utilisateur

ce que je veux faire, l'idéal, serais pouvoir de faire des groupes de
controles (donc pouvoir utiliser les index) mais dans vb6 je ne trouve
pas



comment faire alors que je le faisais tres bien avec office97 (mince
alors,

ils l'ont peu etre enlevé entre deux, comme a disparu le module
diaporama



en
réseau sous powerpoint :( )

si tu as des idées concernant mon probléme qui je l'espére t'apparait
clairement maintenant, merci de me faire signe

et en tous cas, merci pour ta réponse rapide, les participants à ce
newsgroup sont toujours trés doués et trés sympa merci à tous

cordialement
A. Duchamp


bonjour aurelien,

pour créer des contrôles sur une feuille Excel, utilise
l'enregistreur, tu obtiendras un code du style :
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1", Link:úlse,
_




DisplayAsIcon:úlse, Left:2.75, Top:T.75,
Width:2.25,




Height _
:(.5).Select
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1",
Link:úlse,




_
DisplayAsIcon:úlse, Left:6.75, Top:0.25,
Width:0..5,




Height _
:W.75).Select

ou va voir F.Sigounneau pour créer sur un Userform
http://frederic.sigonneau.free.fr/Objets.htm

http://frederic.sigonneau.free.fr/code/objets/AjoutBoutonUsuerform.txt





http://frederic.sigonneau.free.fr/code/objets/CreeUserformAvecBouton.txt





friendly



bonjour,

comment peut on creer un textbox ou un label de facon dynamique
?(avec





vb6
sous excel)
j'ai ecumé tous les forums, je n'ai rien trouvé :'(

merci beaucoup de votre reponse