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 autrehistoire...
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
userformet 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 AsInteger, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, TrueWith 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
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" <anonymous-patrick.morange@interstat.fr> a écrit dans le message
de
news: 00e101c3b8ef$356e4720$a101280a@phx.gbl...
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
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 autrehistoire...
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
userformet 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 AsInteger, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, TrueWith 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
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.3cela 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
enfaire fonctionner aucune....
orel
"PMO" a écrit dans le message
denews: 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 autrehistoire...
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
userformet 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 AsInteger, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, TrueWith 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
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" <michel@Suppgaboly.com> a écrit dans le message de news:
3FCCF321.3811EDDA@Suppgaboly.com...
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" <anonymous-patrick.morange@interstat.fr> a écrit dans le message
de
news: 00e101c3b8ef$356e4720$a101280a@phx.gbl...
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
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.3cela 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
enfaire fonctionner aucune....
orel
"PMO" a écrit dans le message
denews: 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 autrehistoire...
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
userformet 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 AsInteger, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, TrueWith 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
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.3cela 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
enfaire fonctionner aucune....
orel
"PMO" a écrit dans le message
denews: 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 autrehistoire...
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
userformet 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 AsInteger, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, TrueWith 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
.
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" <michel.pierron@free.fr> a écrit dans le message de news:
ejPLZgRuDHA.1888@TK2MSFTNGP10.phx.gbl...
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" <aurelien.touet@tele2.fr> a écrit dans le message de
news:OKuvPeQuDHA.1576@TK2MSFTNGP11.phx.gbl...
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" <anonymous-patrick.morange@interstat.fr> a écrit dans le message
de
news: 00e101c3b8ef$356e4720$a101280a@phx.gbl...
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
.
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.3cela 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
enfaire fonctionner aucune....
orel
"PMO" a écrit dans le message
denews: 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 autrehistoire...
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
userformet 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 AsInteger, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, TrueWith 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
.
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.3cela 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
enfaire fonctionner aucune....
orel
"PMO" a écrit dans le
message
denews: 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 autrehistoire...
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
userformet 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 AsInteger, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, TrueWith 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
.
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" <aurelien.touet@tele2.fr> a écrit dans le message de
news:uXgGcBSuDHA.4060@TK2MSFTNGP11.phx.gbl...
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" <michel.pierron@free.fr> a écrit dans le message de
news:
ejPLZgRuDHA.1888@TK2MSFTNGP10.phx.gbl...
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" <aurelien.touet@tele2.fr> a écrit dans le message de
news:OKuvPeQuDHA.1576@TK2MSFTNGP11.phx.gbl...
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" <anonymous-patrick.morange@interstat.fr> a écrit dans le
message
de
news: 00e101c3b8ef$356e4720$a101280a@phx.gbl...
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
.
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.3cela 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
enfaire fonctionner aucune....
orel
"PMO" a écrit dans le
message
denews: 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 autrehistoire...
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
userformet 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 AsInteger, largeur As Integer, longeur As Integer)
UserForm1.Frame2.Controls.Add "Forms." & name
& ".1", nom, TrueWith 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
.