Conservation des donée dans une userform

loran45

XLDnaute Nouveau
Bonjour,

J ai creer dans une feuil excel, un bouton qui charge une userform :

Sub clic_btn()
UserForm1.Show
End Sub

Dans le code de la userform (a l initialisation)je creer dynamiquement un checkbox :

Private Sub UserForm_Initialize()
Dim MonControle As Control
Set MonControle = UserForm1.Controls.Add('Forms.CheckBox.1', True)
MonControle.Caption = 'case1'
MonControle.Value = True
End Sub

Quand j appelle la userform en appuyant sur mon bouton, la userform apparait, jusque la tou va bien, mais si je declique la checkbox et que je referme la userform, puis je la rappelle, mon checkbox est re-chocher, comment faire pour que ma userform garde les modifs?


Par avance merci

Loran
 

Hervé

XLDnaute Barbatruc
bonjour loran, pascal

un essai un renvoyant la valeur du chekbox en A1 à la fermeture du usf.

loran, tu t'ennuierai moi en créant directement cette checkbox.

Dim MonControle As Control
Private Sub UserForm_Initialize()

Set MonControle = UserForm1.Controls.Add('Forms.CheckBox.1', True)
MonControle.Caption = 'case1'
MonControle.Value = Range('a1')
End Sub

Private Sub UserForm_Terminate()
Range('a1') = MonControle
End Sub


salut
 

loran45

XLDnaute Nouveau
YYYeeesss !

Excelent !

Merci beaucoup a vous 2

Hervé, l'ideal pour mon serait de creer dynamiquement des checkboxes dans une 2e feuille, mais le souci etait que j arrivais pas a cocher la checkbox en code, j ai envoyer un post ce matin intituler 'En VBA sous excel2000' poster a 9h46, si tu veux y jeter un coup d oeil et me donner ton avis ce serai sympa

Encore un grand merci a vous 2 pour votre aide

loran
 

Hervé

XLDnaute Barbatruc
re loran


je suis allez voir ton post, comme c'est l'ami michel qui ta répondu, vu son niveau et son sérieux, je ne m'avance guère en te disant que ca doit fonctionner ce qu'il ta proposé. :)

En complément, si tu veux rendre dynamique la création de checkbox avec le changement de la cellule N :

tu peux rajouter ce code en début de procédure pour effacer les checkbox préalablement créer.

For Each Obj In Worksheets(2).OLEObjects
If TypeOf Obj.Object Is MSForms.CheckBox Then obj.delete
Next Obj

(tiré des codes de michel et non testé)

salut
 

Discussions similaires

Statistiques des forums

Discussions
312 392
Messages
2 087 988
Membres
103 691
dernier inscrit
christophe89