VBA - Ajouter controle à un formulaire via un code

VBA - Ajouter controle à un formulaire via un code - VB/VBA/VBS - Programmation

Marsh Posté le 24-11-2006 à 17:14:52    

Bonjour,
 
Quelqu'un sait-il s'il est possible d'ajouter un controle via une macro ?
 
Merci bien.

Reply

Marsh Posté le 24-11-2006 à 17:14:52   

Reply

Marsh Posté le 24-11-2006 à 17:33:26    

Bonsoir,
Méthode CreateControl??
Cordialement

Reply

Marsh Posté le 24-11-2006 à 17:54:23    

Résultat d'une peche sur le net, ok sous Excel, à adapter pour Access


Option Explicit
 
Sub Tst()
  EssaiAvecBouton "Essai"
End Sub
 
Sub EssaiAvecBouton(ByVal Titre As String)
Dim Msg As Object
   
  Set Msg = CreateAvecBouton(Titre)
  Msg.Show
   
  DelPopupMsg Msg.Name
  Unload Msg
  Set Msg = Nothing
End Sub
 
Function CreateAvecBouton(ByVal Titre As String) As Object
Dim BarForm As Object, Lbl As Object, Btn As Object, X As Long
   
  Application.VBE.MainWindow.Visible = False
   
  Set BarForm = ThisWorkbook.VBProject.VBComponents.Add(3)
  With BarForm
    .Properties("Caption" ) = Titre
    .Properties("Width" ) = 200
    .Properties("Height" ) = 100
  End With
   
  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 CreateAvecBouton = UserForms(UserForms.Count - 1)
     
End Function
 
Sub DelPopupMsg(ByVal Nom As String)
  With ThisWorkbook.VBProject.VBComponents
        .Remove .Item(Nom)
    End With
End Sub


Message édité par kiki29 le 25-11-2006 à 02:49:36
Reply

Marsh Posté le 28-11-2006 à 10:42:29    

Merci beaucoup.
Pourquoi Access ?
Je n'ai peut-être pas été clair avec le mot "formulaire", il s'agit simplement d'ajouter un controle sur un userform en vba...
 
Merci encore de toutes manières.

Reply

Marsh Posté le 28-11-2006 à 11:37:10    

Bonjour,
Set Mycmd = Controls.Add("Forms.CommandButton.1" )
Mycmd.Left = 18
Mycmd.Top = 150
Mycmd.Width = 175
Mycmd.Height = 20
Mycmd.Caption = "This is fun"
Dans l'aide en ligne

Reply

Marsh Posté le 04-12-2006 à 11:11:20    

j'ai lu ton msg.et je ne peux que t'aider en te filant une adresse d'un pro en access vba et dont toutes les requette au forum sont resolu.
voila: http://www.e-rus.net/Forum_Dot_Net_Office/VBA.aspx

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed