h_adil
Messages postés231Date d'inscriptionmercredi 27 avril 2005StatutMembreDernière intervention10 juin 2009
-
29 avril 2005 à 12:08
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 2022
-
29 avril 2005 à 13:03
comment creer des zone texte automatiquement avec l'aide de vba et qui depand d'un paramettre
par exemple si on veut creer 3 zone il suffit d'enntrer le nombre 3 ect
Starec
Messages postés152Date d'inscriptionmercredi 30 mars 2005StatutMembreDernière intervention 5 mars 2007 29 avril 2005 à 12:11
Salut,
Recherche sur le site "Création de contrôle dynamique", où quel que chose qui s'en rapproche, cela marche très bien en VB6, mais je n'ai jamais testé en VBA, les fonction doivents être différentes si elles existent
valtrase
Messages postés937Date d'inscriptionlundi 19 janvier 2004StatutMembreDernière intervention 9 mai 20223 29 avril 2005 à 13:03
Lut tiens un bout de code que tu devra ajuster à ton cas
ce code est à coller dans un module
c'est pas de moi l'ai trouvé sur la toile, je pense qu'en changeant le commandbutton par un textbox ça devrais le faire
Sub test()
EssaiUfAvecBouton "Essai"
End Sub
Sub EssaiUfAvecBouton(Titre$)
Dim ufMsg As Object
Set ufMsg = CreateUfAvecBouton(Titre)
ufMsg.Show
'cet ordre des instructions est à respecter
'pour détruire l'userform créé à la volée
DelPopupMsg ufMsg.Name
Unload ufMsg
Set ufMsg = Nothing
End Sub
Function CreateUfAvecBouton(Titre$) As Object
Dim BarForm As Object, Lbl As Object, Btn As Object, X%
Application.VBE.MainWindow.Visible = False
' userform
Set BarForm = ThisWorkbook.VBProject.VBComponents.Add(3)
With BarForm
.Properties("Caption") = Titre
.Properties("Width") = 200
.Properties("Height") = 100
End With
'bouton
Set Btn = BarForm.Designer.Controls.Add("forms.commandbutton.1")
With Btn
.Caption = "Cliquer ici !..." .Left 60: .Top 50
End With
With BarForm.CodeModule
X = .CountOfLines
.insertlines X + 1, "Sub CommandButton1_Click()"
.insertlines X + 2, " MsgBox ""coucou"""
.insertlines X + 3, " Me.Hide"
.insertlines X + 4, "End Sub"
End With
VBA.UserForms.Add (BarForm.Name)
Set CreateUfAvecBouton = UserForms(UserForms.Count - 1)
End Function 'fs
Sub DelPopupMsg(Nom$)
With ThisWorkbook.VBProject.VBComponents
.Remove .Item(Nom)
End With
End Sub