ajouter 1 Checkbox par macro

M

modus57

Guest
Bonsoir le forun

Comment faire pour ajouter un Checkbox ou un Textbox par macro dans un Userform

J'ai trouvé un fichier sur le net qui crée un Checkbox et un Textbox mais ils sont volatiles je souhaiterais qu'ils soient crées définitivement sur l'Userform

J'ai besoin de votre aide

Merci d'avance à +
 

Hervé

XLDnaute Barbatruc
bonsoir modus

j'ai pas de solution à ton souci (enfin si, je sais créer un checkbox sur un userform, mais pas définitivement)

mais je m'interroge, pourquoi ne peux tu pas le créer définitivement en mode design ?

et ensuite le masquer si tu n'en a pas besoin.

salut
 

Hervé

XLDnaute Barbatruc
re modus

en pièce jointe un exemple pour la création d'un checkbox à l'initialize d'un userform.

mais à mon avis (qui n'engage que moi) c'est utiliser un marteau pilon pour ecraser une mouche.

:)

salut [file name=Classeur1_20060129233608.zip size=8698]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur1_20060129233608.zip[/file]

Message édité par: hervé, à: 29/01/2006 23:36
 

Pièces jointes

  • Classeur1_20060129233608.zip
    8.5 KB · Affichages: 110
M

modus57

Guest
Bonsoir Hervé, re-bonsoir le forum

Ce que je souhaiterais lorsque je clicque sur le bouton 'LANCER LAMACRO', c'est créer et ajouter un Checkbox dans l'userform qui en contient d'autres et lors de son initialisation ce nouveau Checkbox doit apparaître

Crois-tu que c'est possible ?

A +
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonsoir Hervé, Modus, le Forum

Moi si je dois écrire un code pour générer un UserForm c'est pas pour une CheckBox mais 40 !!! lol

A tester dans un classeur vierge auquel on aura pris soin d'ajouter la référence à la bibliothèque MicroSoft Forms 2.0 Object Library

Option Explicit

Const Sign As String = ''Thierry 's Truc sur www.Excel-Downloads.com, January 2006'

Const CbxWidth As Integer = 80
Const CbxHeigth As Integer = 15
Const CbxLeft As Integer = 15
Const CbxTop As Integer = 15


Sub MyUserFormAutoBuilder()
Dim ObjUSF As Object
Dim ObjTextBox As Object, ObjLabel As Object, CmdB As Object, LstB As Object
Dim TopPlusHeight As Integer
Dim X As Byte
Dim VLblLeft As Integer
Dim VCbxLeft As Integer
 
 
Set ObjUSF = ThisWorkbook.VBProject.VBComponents.Add(3)
 
With ObjUSF
    .Properties('Caption') = Sign
    .Properties('Width') = 660
    .Properties('Height') = 195
    .Properties('ShowModal') =
True
 
End With
 
   
For X = 1 To 40
       
     
Set ObjTextBox = ObjUSF.Designer.Controls.Add('Forms.CheckBox.1')
     
         
Select Case X
           
Case 1 To 10
             
If X = 1 Then TopPlusHeight = CbxTop
              VCbxLeft = CbxLeft
           
Case 11 To 20
             
If X = 11 Then TopPlusHeight = CbxTop
              VCbxLeft = CbxLeft + 160
           
Case 21 To 30
             
If X = 21 Then TopPlusHeight = CbxTop
              VCbxLeft = CbxLeft + 320
           
Case 31 To 40
             
If X = 31 Then TopPlusHeight = CbxTop
              VCbxLeft = CbxLeft + 480
         
End Select
             
         
         
With ObjTextBox
            .Caption = 'CheckBox N0 ' & X
            .Left = VCbxLeft: .Top = TopPlusHeight: .Width = CbxWidth: .Height = CbxHeigth
            .Tag = 'Thierry
's Demo'
            .Name = 'CbxDemo' & X
            .TextAlign = fmTextAlignRight
         
End With
         
        TopPlusHeight = TopPlusHeight + 15
   
Next

VBA.UserForms.Add(ObjUSF.Name).Show
 
Set ObjUSF = Nothing
Set ObjTextBox = Nothing
Set ObjLabel = Nothing
End Sub


Hein Hervé ça doit te rappeler un barbatruc ;)

Bonne Nuit
[ol]@+Thierry[/ol]
 

Discussions similaires

Réponses
19
Affichages
1 K
Réponses
2
Affichages
184

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia