OVH Cloud OVH Cloud

[VBA] creer a la volé bouton et son code qques précision SVP...

14 réponses
Avatar
Orel
Bonjour,


apres avoir fureté dans les archives du group (sur google) ,
j'ai trouvé un moyen de créer un bouton a la volé sur ma userform...
par contre pour ce qui est de lui attaché un event click ... c'est une autre
histoire...
je n'ai trouvé que des exemples de "génération de code" dans une feuil ...
j'ai bidouiller et je suis arrivé a
inséré mon code dans ma userform...

mais rien ne se passe qd je click sur le bouton ....
j'ai bien un bouton nomé : m_chercher_auteur dans ma userform
et une proc nommé :
sub private m_chercher_auteur_click ()
msgbox("coucou")
end sub


mais rien ne se passe....

qqun pourrai me dire ce qui ce passe ???
merci

mon code :

Function CreerControle(name As String, nom As String, x As Integer, y As
Integer, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name & ".1", nom, True
With UserForm1.Controls(nom)
.Left = x
.Width = longeur
.Top = y
End With
End Function



Function InsérerLeCodeDuBouton(NomBouton As String)

Dim A As String, Code As String

Code = "Private Sub " & NomBouton & "_Click()" & vbCrLf
Code = Code & " Msgbox ""Bonjour""" & vbCrLf
Code = Code & "End Sub"

With ThisWorkbook.VBProject.VBComponents("UserForm1").CodeModule
.AddFromString Code
End With
End Function


orel

4 réponses

1 2
Avatar
Orel
oui je l'ai lu je t'enverrai un ex si ca marche .... car pour l'instant j'ai
rien fait d'autre que ce que j'ai expliquer un peu plus bas ....!!!! ,o)


orel


"Michel Gaboly" a écrit dans le message de news:

Re,

Tu as lu mon message, où je te demandais de m'envoyer le fichier (il faut
enlever "Supp" à l'adresse apparente), si ce n'est pas confidentiel.

Cela m'intrigue, je regarderais volontiers.



Merci Patrick ....
Mais ca ne marche toujours pas chez moi ...(ou plutot au boulot ...)
1/ je n'ai pas :Microsoft Visual Basic 6.0 Extensibility (je n'ai que la
5.3


cela convient il ???)
2/ ce n'ai pas tout a fait ce que je veux faire... cf ton code ...
3/ ce que je veux faire :
- créer un boutton a la volé dans le userform en cours (ca OK)
- lui affecter son evenement click (ca KO !!!)

j'ai essayer plein de methode notemment celle du site de frederique
sigonneau (addbouton)....

je désespere un peu il semble y avoir plein de soluce mais je n'arrive a
en


faire fonctionner aucune....

orel
"PMO" a écrit dans le message
de


news: 00e101c3b8ef$356e4720$
Bonjour,

Plutôt que de bidouiller votre code, je vous
prie de trouver, ci-dessous, un exemple de code
que vous pourrez modifier à votre aise et qui devrait
répondre à votre attente.
Copiez ce code dans un module standard.
N'omettez surtout pas d'installer les 2 références qui
sont indiquées à son début.

DETAILS:
Crée un UserForm à la volée.
Y insère un CommanButton et un Label.
Leur ajoute leur code évènementiel respectif.
Affiche le UserForm puis le détruit.

A plus.

PMO
Patrick Morange

***************************
Option Explicit
'############################################
'# Ajouter impérativement les références #
'# suivantes dans Menu Outils/Références #
'# #
'# Microsoft Visual Basic 6.0 Extensibility #
'# Microsoft Forms 2.0 Object Library #
'############################################
Sub UserForm_aLaVolee()
Dim UF As Object
Dim L As MSForms.Label
Dim CB As MSForms.CommandButton
Dim A$
Dim i&
On Error GoTo fin
'---- Crée dynamiquement un UserForm ----
Set UF = ThisWorkbook.VBProject _
.VBComponents.Add(vbext_ct_MSForm)
With UF
.Properties("Caption") = _
"UserForm à la volée"
.Properties("Height") = 240
.Properties("Width") = 320
End With
'---- Crée le bouton de fermeture ----
Set CB = UF.Designer.Controls _
.Add("forms.CommandButton.1")
With CB
.Caption = "Fermer"
.Left = 200
.Top = 180
End With
'---- Crée le label ----
Set L = UF.Designer.Controls _
.Add("forms.Label.1")
With L
.Caption = "mon texte"
.TextAlign = fmTextAlignCenter
.Left = 20
.Top = 20
.BackColor = vbRed
.BorderStyle = fmBorderStyleSingle
End With
'°°° Ajout du code évènementiel °°°
A$ = "Sub CommandButton1_Click()" & _
vbCrLf & "Unload Me" & _
vbCrLf & "End Sub"
With UF.CodeModule
i& = .CountOfLines
.InsertLines i& + 1, A$
End With
'-----------
A$ = "Sub Label1_Click()" & _
vbCrLf & "MsgBox " & _
"""Vous avez cliqué sur mon texte""" & _
vbCrLf & "End Sub"
With UF.CodeModule
i& = .CountOfLines
.InsertLines i& + 1, A$
End With
'---- Affiche le UserForm ----
VBA.UserForms.Add(UF.Name).Show
'---- Détruit le UserForm ----
ThisWorkbook.VBProject.VBComponents _
.Remove UF
fin:
End Sub
******************************

-----Message d'origine-----
Bonjour,


apres avoir fureté dans les archives du group (sur
google) ,

j'ai trouvé un moyen de créer un bouton a la volé sur ma
userform...

par contre pour ce qui est de lui attaché un event
click ... c'est une autre

histoire...
je n'ai trouvé que des exemples de "génération de code"
dans une feuil ...

j'ai bidouiller et je suis arrivé a
inséré mon code dans ma userform...

mais rien ne se passe qd je click sur le bouton ....
j'ai bien un bouton nomé : m_chercher_auteur dans ma
userform

et une proc nommé :
sub private m_chercher_auteur_click ()
msgbox("coucou")
end sub


mais rien ne se passe....

qqun pourrai me dire ce qui ce passe ???
merci

mon code :

Function CreerControle(name As String, nom As String, x
As Integer, y As

Integer, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, True

With UserForm1.Controls(nom)
.Left = x
.Width = longeur
.Top = y
End With
End Function



Function InsérerLeCodeDuBouton(NomBouton As String)

Dim A As String, Code As String

Code = "Private Sub " & NomBouton & "_Click()" & vbCrLf
Code = Code & " Msgbox ""Bonjour""" & vbCrLf
Code = Code & "End Sub"

With ThisWorkbook.VBProject.VBComponents
("UserForm1").CodeModule

.AddFromString Code
End With
End Function


orel


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com






Avatar
Michel Gaboly
Re,

Ce qui m'intéresse, c'est la version qui ne marche pas, pour trouver ce
qui plante ;-))



oui je l'ai lu je t'enverrai un ex si ca marche .... car pour l'instant j'ai
rien fait d'autre que ce que j'ai expliquer un peu plus bas ....!!!! ,o)

orel

"Michel Gaboly" a écrit dans le message de news:

Re,

Tu as lu mon message, où je te demandais de m'envoyer le fichier (il faut
enlever "Supp" à l'adresse apparente), si ce n'est pas confidentiel.

Cela m'intrigue, je regarderais volontiers.



Merci Patrick ....
Mais ca ne marche toujours pas chez moi ...(ou plutot au boulot ...)
1/ je n'ai pas :Microsoft Visual Basic 6.0 Extensibility (je n'ai que la
5.3


cela convient il ???)
2/ ce n'ai pas tout a fait ce que je veux faire... cf ton code ...
3/ ce que je veux faire :
- créer un boutton a la volé dans le userform en cours (ca OK)
- lui affecter son evenement click (ca KO !!!)

j'ai essayer plein de methode notemment celle du site de frederique
sigonneau (addbouton)....

je désespere un peu il semble y avoir plein de soluce mais je n'arrive a
en


faire fonctionner aucune....

orel
"PMO" a écrit dans le message
de


news: 00e101c3b8ef$356e4720$
Bonjour,

Plutôt que de bidouiller votre code, je vous
prie de trouver, ci-dessous, un exemple de code
que vous pourrez modifier à votre aise et qui devrait
répondre à votre attente.
Copiez ce code dans un module standard.
N'omettez surtout pas d'installer les 2 références qui
sont indiquées à son début.

DETAILS:
Crée un UserForm à la volée.
Y insère un CommanButton et un Label.
Leur ajoute leur code évènementiel respectif.
Affiche le UserForm puis le détruit.

A plus.

PMO
Patrick Morange

***************************
Option Explicit
'############################################
'# Ajouter impérativement les références #
'# suivantes dans Menu Outils/Références #
'# #
'# Microsoft Visual Basic 6.0 Extensibility #
'# Microsoft Forms 2.0 Object Library #
'############################################
Sub UserForm_aLaVolee()
Dim UF As Object
Dim L As MSForms.Label
Dim CB As MSForms.CommandButton
Dim A$
Dim i&
On Error GoTo fin
'---- Crée dynamiquement un UserForm ----
Set UF = ThisWorkbook.VBProject _
.VBComponents.Add(vbext_ct_MSForm)
With UF
.Properties("Caption") = _
"UserForm à la volée"
.Properties("Height") = 240
.Properties("Width") = 320
End With
'---- Crée le bouton de fermeture ----
Set CB = UF.Designer.Controls _
.Add("forms.CommandButton.1")
With CB
.Caption = "Fermer"
.Left = 200
.Top = 180
End With
'---- Crée le label ----
Set L = UF.Designer.Controls _
.Add("forms.Label.1")
With L
.Caption = "mon texte"
.TextAlign = fmTextAlignCenter
.Left = 20
.Top = 20
.BackColor = vbRed
.BorderStyle = fmBorderStyleSingle
End With
'°°° Ajout du code évènementiel °°°
A$ = "Sub CommandButton1_Click()" & _
vbCrLf & "Unload Me" & _
vbCrLf & "End Sub"
With UF.CodeModule
i& = .CountOfLines
.InsertLines i& + 1, A$
End With
'-----------
A$ = "Sub Label1_Click()" & _
vbCrLf & "MsgBox " & _
"""Vous avez cliqué sur mon texte""" & _
vbCrLf & "End Sub"
With UF.CodeModule
i& = .CountOfLines
.InsertLines i& + 1, A$
End With
'---- Affiche le UserForm ----
VBA.UserForms.Add(UF.Name).Show
'---- Détruit le UserForm ----
ThisWorkbook.VBProject.VBComponents _
.Remove UF
fin:
End Sub
******************************

-----Message d'origine-----
Bonjour,


apres avoir fureté dans les archives du group (sur
google) ,

j'ai trouvé un moyen de créer un bouton a la volé sur ma
userform...

par contre pour ce qui est de lui attaché un event
click ... c'est une autre

histoire...
je n'ai trouvé que des exemples de "génération de code"
dans une feuil ...

j'ai bidouiller et je suis arrivé a
inséré mon code dans ma userform...

mais rien ne se passe qd je click sur le bouton ....
j'ai bien un bouton nomé : m_chercher_auteur dans ma
userform

et une proc nommé :
sub private m_chercher_auteur_click ()
msgbox("coucou")
end sub


mais rien ne se passe....

qqun pourrai me dire ce qui ce passe ???
merci

mon code :

Function CreerControle(name As String, nom As String, x
As Integer, y As

Integer, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, True

With UserForm1.Controls(nom)
.Left = x
.Width = longeur
.Top = y
End With
End Function



Function InsérerLeCodeDuBouton(NomBouton As String)

Dim A As String, Code As String

Code = "Private Sub " & NomBouton & "_Click()" & vbCrLf
Code = Code & " Msgbox ""Bonjour""" & vbCrLf
Code = Code & "End Sub"

With ThisWorkbook.VBProject.VBComponents
("UserForm1").CodeModule

.AddFromString Code
End With
End Function


orel


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com




Avatar
Michel Pierron
Bonjour Orel;
Il serait surement plus simple de créer les contrôles nécessaires permanents et
d'utiliser la propriété Visible en fonction des critères de tes procédures.
MP

"Orel" a écrit dans le message de
news:
avant tout : Merci a vous tous pour votre aide ...

je code sur VBA XL97

j'ai en effet
remplacer:
Set UF = ThisWorkbook.VBProject.VBComponents.Add (vbext_ct_MSForm)
par
Set UF = ThisWorkbook.VBProject.VBComponents.Add(3)



j'ai coché les cases qui vont bien comme me l'a indiqué denis....

et en effet le code marche nickel maintenant ...
g bien une userform qui s'affiche avec deans un label avec son code etc etc
....

le tout est que :

j'ai deja une userform existante sur laquelle j'ai une combobox et en
fonction du choix , je veux generer
- un champ texte ayant pour nom combobox.value (1)
- et un bouton repondant a l'evenement click combobox.value_click()....(2)

j'arrive a faire (1) .
j'arrive a genérer le bouton mais pas a générer sa proc evenementielle ....
ne serai ce que pour afficher "coucou" dans un premier temps ;o))


vous m'avez donc tous mis un peu sur la voix mais je galere encore bcp !!
je reprend ca demain au boulot alors essayer de revenir sur le file de temps
en temps... MERCI ;o)



orel.

"Michel Pierron" a écrit dans le message de news:

Salut Orel;
Tu n'as aucunement besoin d'ajouter une référence supplémentaire si tu
remplaces
Set UF = ThisWorkbook.VBProject.VBComponents.Add (vbext_ct_MSForm)
par
Set UF = ThisWorkbook.VBProject.VBComponents.Add(3)

MP

"Orel" a écrit dans le message de
news:
Merci Patrick ....
Mais ca ne marche toujours pas chez moi ...(ou plutot au boulot ...)
1/ je n'ai pas :Microsoft Visual Basic 6.0 Extensibility (je n'ai que la
5.3

cela convient il ???)
2/ ce n'ai pas tout a fait ce que je veux faire... cf ton code ...
3/ ce que je veux faire :
- créer un boutton a la volé dans le userform en cours (ca OK)
- lui affecter son evenement click (ca KO !!!)

j'ai essayer plein de methode notemment celle du site de frederique
sigonneau (addbouton)....

je désespere un peu il semble y avoir plein de soluce mais je n'arrive a
en

faire fonctionner aucune....


orel
"PMO" a écrit dans le message
de


news: 00e101c3b8ef$356e4720$
Bonjour,

Plutôt que de bidouiller votre code, je vous
prie de trouver, ci-dessous, un exemple de code
que vous pourrez modifier à votre aise et qui devrait
répondre à votre attente.
Copiez ce code dans un module standard.
N'omettez surtout pas d'installer les 2 références qui
sont indiquées à son début.

DETAILS:
Crée un UserForm à la volée.
Y insère un CommanButton et un Label.
Leur ajoute leur code évènementiel respectif.
Affiche le UserForm puis le détruit.

A plus.

PMO
Patrick Morange

***************************
Option Explicit
'############################################
'# Ajouter impérativement les références #
'# suivantes dans Menu Outils/Références #
'# #
'# Microsoft Visual Basic 6.0 Extensibility #
'# Microsoft Forms 2.0 Object Library #
'############################################
Sub UserForm_aLaVolee()
Dim UF As Object
Dim L As MSForms.Label
Dim CB As MSForms.CommandButton
Dim A$
Dim i&
On Error GoTo fin
'---- Crée dynamiquement un UserForm ----
Set UF = ThisWorkbook.VBProject _
.VBComponents.Add(vbext_ct_MSForm)
With UF
.Properties("Caption") = _
"UserForm à la volée"
.Properties("Height") = 240
.Properties("Width") = 320
End With
'---- Crée le bouton de fermeture ----
Set CB = UF.Designer.Controls _
.Add("forms.CommandButton.1")
With CB
.Caption = "Fermer"
.Left = 200
.Top = 180
End With
'---- Crée le label ----
Set L = UF.Designer.Controls _
.Add("forms.Label.1")
With L
.Caption = "mon texte"
.TextAlign = fmTextAlignCenter
.Left = 20
.Top = 20
.BackColor = vbRed
.BorderStyle = fmBorderStyleSingle
End With
'°°° Ajout du code évènementiel °°°
A$ = "Sub CommandButton1_Click()" & _
vbCrLf & "Unload Me" & _
vbCrLf & "End Sub"
With UF.CodeModule
i& = .CountOfLines
.InsertLines i& + 1, A$
End With
'-----------
A$ = "Sub Label1_Click()" & _
vbCrLf & "MsgBox " & _
"""Vous avez cliqué sur mon texte""" & _
vbCrLf & "End Sub"
With UF.CodeModule
i& = .CountOfLines
.InsertLines i& + 1, A$
End With
'---- Affiche le UserForm ----
VBA.UserForms.Add(UF.Name).Show
'---- Détruit le UserForm ----
ThisWorkbook.VBProject.VBComponents _
.Remove UF
fin:
End Sub
******************************



-----Message d'origine-----
Bonjour,


apres avoir fureté dans les archives du group (sur
google) ,

j'ai trouvé un moyen de créer un bouton a la volé sur ma
userform...

par contre pour ce qui est de lui attaché un event
click ... c'est une autre

histoire...
je n'ai trouvé que des exemples de "génération de code"
dans une feuil ...

j'ai bidouiller et je suis arrivé a
inséré mon code dans ma userform...

mais rien ne se passe qd je click sur le bouton ....
j'ai bien un bouton nomé : m_chercher_auteur dans ma
userform

et une proc nommé :
sub private m_chercher_auteur_click ()
msgbox("coucou")
end sub


mais rien ne se passe....

qqun pourrai me dire ce qui ce passe ???
merci

mon code :

Function CreerControle(name As String, nom As String, x
As Integer, y As

Integer, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, True

With UserForm1.Controls(nom)
.Left = x
.Width = longeur
.Top = y
End With
End Function



Function InsérerLeCodeDuBouton(NomBouton As String)

Dim A As String, Code As String

Code = "Private Sub " & NomBouton & "_Click()" & vbCrLf
Code = Code & " Msgbox ""Bonjour""" & vbCrLf
Code = Code & "End Sub"

With ThisWorkbook.VBProject.VBComponents
("UserForm1").CodeModule

.AddFromString Code
End With
End Function


orel


.















Avatar
Orel
effectivement ... etant donné que cette macro n'est pas personnel mais
professionnelle (donc contrainte de temps....)
j'qi laissé tomber et trouver une soluce de secour...
je garde néanmoins mon idée sous le coude ;o)) et m'y repencherai plus tard
!! JE VEUX Y ARRIVER !!!

quoiqu'il en soit je vous remercie tous pour votre aide!

orel
"Michel Pierron" a écrit dans le message news:

Bonjour Orel;
Il serait surement plus simple de créer les contrôles nécessaires
permanents et

d'utiliser la propriété Visible en fonction des critères de tes
procédures.

MP

"Orel" a écrit dans le message de
news:
avant tout : Merci a vous tous pour votre aide ...

je code sur VBA XL97

j'ai en effet
remplacer:
Set UF = ThisWorkbook.VBProject.VBComponents.Add (vbext_ct_MSForm)
par
Set UF = ThisWorkbook.VBProject.VBComponents.Add(3)



j'ai coché les cases qui vont bien comme me l'a indiqué denis....

et en effet le code marche nickel maintenant ...
g bien une userform qui s'affiche avec deans un label avec son code etc
etc


....

le tout est que :

j'ai deja une userform existante sur laquelle j'ai une combobox et en
fonction du choix , je veux generer
- un champ texte ayant pour nom combobox.value (1)
- et un bouton repondant a l'evenement click
combobox.value_click()....(2)



j'arrive a faire (1) .
j'arrive a genérer le bouton mais pas a générer sa proc evenementielle
....


ne serai ce que pour afficher "coucou" dans un premier temps ;o))


vous m'avez donc tous mis un peu sur la voix mais je galere encore bcp
!!


je reprend ca demain au boulot alors essayer de revenir sur le file de
temps


en temps... MERCI ;o)



orel.

"Michel Pierron" a écrit dans le message de
news:



Salut Orel;
Tu n'as aucunement besoin d'ajouter une référence supplémentaire si tu
remplaces
Set UF = ThisWorkbook.VBProject.VBComponents.Add (vbext_ct_MSForm)
par
Set UF = ThisWorkbook.VBProject.VBComponents.Add(3)

MP

"Orel" a écrit dans le message de
news:
Merci Patrick ....
Mais ca ne marche toujours pas chez moi ...(ou plutot au boulot ...)
1/ je n'ai pas :Microsoft Visual Basic 6.0 Extensibility (je n'ai
que la




5.3
cela convient il ???)
2/ ce n'ai pas tout a fait ce que je veux faire... cf ton code ...
3/ ce que je veux faire :
- créer un boutton a la volé dans le userform en cours (ca OK)
- lui affecter son evenement click (ca KO !!!)

j'ai essayer plein de methode notemment celle du site de frederique
sigonneau (addbouton)....

je désespere un peu il semble y avoir plein de soluce mais je
n'arrive a




en
faire fonctionner aucune....


orel
"PMO" a écrit dans le
message




de
news: 00e101c3b8ef$356e4720$
Bonjour,

Plutôt que de bidouiller votre code, je vous
prie de trouver, ci-dessous, un exemple de code
que vous pourrez modifier à votre aise et qui devrait
répondre à votre attente.
Copiez ce code dans un module standard.
N'omettez surtout pas d'installer les 2 références qui
sont indiquées à son début.

DETAILS:
Crée un UserForm à la volée.
Y insère un CommanButton et un Label.
Leur ajoute leur code évènementiel respectif.
Affiche le UserForm puis le détruit.

A plus.

PMO
Patrick Morange

***************************
Option Explicit
'############################################
'# Ajouter impérativement les références #
'# suivantes dans Menu Outils/Références #
'# #
'# Microsoft Visual Basic 6.0 Extensibility #
'# Microsoft Forms 2.0 Object Library #
'############################################
Sub UserForm_aLaVolee()
Dim UF As Object
Dim L As MSForms.Label
Dim CB As MSForms.CommandButton
Dim A$
Dim i&
On Error GoTo fin
'---- Crée dynamiquement un UserForm ----
Set UF = ThisWorkbook.VBProject _
.VBComponents.Add(vbext_ct_MSForm)
With UF
.Properties("Caption") = _
"UserForm à la volée"
.Properties("Height") = 240
.Properties("Width") = 320
End With
'---- Crée le bouton de fermeture ----
Set CB = UF.Designer.Controls _
.Add("forms.CommandButton.1")
With CB
.Caption = "Fermer"
.Left = 200
.Top = 180
End With
'---- Crée le label ----
Set L = UF.Designer.Controls _
.Add("forms.Label.1")
With L
.Caption = "mon texte"
.TextAlign = fmTextAlignCenter
.Left = 20
.Top = 20
.BackColor = vbRed
.BorderStyle = fmBorderStyleSingle
End With
'°°° Ajout du code évènementiel °°°
A$ = "Sub CommandButton1_Click()" & _
vbCrLf & "Unload Me" & _
vbCrLf & "End Sub"
With UF.CodeModule
i& = .CountOfLines
.InsertLines i& + 1, A$
End With
'-----------
A$ = "Sub Label1_Click()" & _
vbCrLf & "MsgBox " & _
"""Vous avez cliqué sur mon texte""" & _
vbCrLf & "End Sub"
With UF.CodeModule
i& = .CountOfLines
.InsertLines i& + 1, A$
End With
'---- Affiche le UserForm ----
VBA.UserForms.Add(UF.Name).Show
'---- Détruit le UserForm ----
ThisWorkbook.VBProject.VBComponents _
.Remove UF
fin:
End Sub
******************************



-----Message d'origine-----
Bonjour,


apres avoir fureté dans les archives du group (sur
google) ,

j'ai trouvé un moyen de créer un bouton a la volé sur ma
userform...

par contre pour ce qui est de lui attaché un event
click ... c'est une autre

histoire...
je n'ai trouvé que des exemples de "génération de code"
dans une feuil ...

j'ai bidouiller et je suis arrivé a
inséré mon code dans ma userform...

mais rien ne se passe qd je click sur le bouton ....
j'ai bien un bouton nomé : m_chercher_auteur dans ma
userform

et une proc nommé :
sub private m_chercher_auteur_click ()
msgbox("coucou")
end sub


mais rien ne se passe....

qqun pourrai me dire ce qui ce passe ???
merci

mon code :

Function CreerControle(name As String, nom As String, x
As Integer, y As

Integer, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, True

With UserForm1.Controls(nom)
.Left = x
.Width = longeur
.Top = y
End With
End Function



Function InsérerLeCodeDuBouton(NomBouton As String)

Dim A As String, Code As String

Code = "Private Sub " & NomBouton & "_Click()" & vbCrLf
Code = Code & " Msgbox ""Bonjour""" & vbCrLf
Code = Code & "End Sub"

With ThisWorkbook.VBProject.VBComponents
("UserForm1").CodeModule

.AddFromString Code
End With
End Function


orel


.



















1 2