Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sauvegarder modification userform

fouc

XLDnaute Nouveau
Bonjour,

Je cherche à sauvegarder les modifications faites sur un userform.

En effet, sur mes userform, lorsque je coche une case, cela change la couleur d'une listbox et je voudrais conserver ce changement pour que lorsque j'ouvrirais de nouveau ce userform la listbox soit toujours modifiée...

J'ai trouvé ca mais j'arrive pas à l'appliquer à mon cas:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
SaveSetting "Mes parametres", "TextBox1", "Valeur TextBox1", TextBox1.Value
SaveSetting "Mes parametres", "Textbox2", "Valeur TextBox2", TextBox2.Value
End Sub

Merci pour votre aide.
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Sauvegarder modification userform

Bonjour

Je pense que le plus simple serait d'avoir une feuille cachée pour tes paramètres qui permettrait de t'y référer pour l'initialisation de ta listbox
 

fouc

XLDnaute Nouveau
Re : Sauvegarder modification userform

Bonjour

Je pense que le plus simple serait d'avoir une feuille cachée pour tes paramètres qui permettrait de t'y référer pour l'initialisation de ta listbox

Salut, tu veux dire que je devrais sauvegarder la valeur de la listbox sur une feuille et d'y faire appel lors de l'ouverture de la userbox?
 

Pierrot93

XLDnaute Barbatruc
Re : Sauvegarder modification userform

Bonjour Fouc, Pascal

une autre piste peut être, le mode "designer" :

dans un module standard, une variable public :

Code:
Option Explicit
Public c As Long

dans le module de l'USF, valorisation de cette variable lors de la fermeture de l'USF :

Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
c = ListBox1.BackColor
End Sub

dans le module "thisworkbook", initialisation de la variable publuc lors de l'ouverture et enregistrement de la couleur lors de la sauvegarde :

Code:
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim u As Object
Set u = ThisWorkbook.VBProject.VBComponents("UserForm1")
u.Designer.Controls("ListBox1").BackColor = c
End Sub
Private Sub Workbook_Open()
c = ThisWorkbook.VBProject.VBComponents("UserForm1").Designer.Controls("ListBox1").BackColor
End Sub

ci joint fichier avec les codes.

bonne journée.
@+
 

Pièces jointes

  • classeur2.zip
    10.8 KB · Affichages: 127
  • classeur2.zip
    10.8 KB · Affichages: 136
  • classeur2.zip
    10.8 KB · Affichages: 131

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…