Bonjour le Forum,
En adaptant le tutoriel de Silkyroad et une proposition de Jérôme sur
Cette discussion
J'ai trouvé le moyen de sauvegarder (en boucle car de nombreux contrôles), les paramètres d'un userform
Pour ceux que cela intéresserait :
Sauvegarde
Chargement si retour aux données saisies
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Dim ctrl As Control For Each ctrl In Me.Controls If (TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox") Then SaveSetting "parametres", ctrl.Name, "param" & ctrl.TabIndex, ctrl.Value End If Next End Sub
J'aurais souhaité pouvoir vider la collection de "paramètres".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub UserForm_Initialize() Dim ctrl As Control For Each ctrl In Me.Controls If (TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox") Then ctrl.Value = GetSetting("parametres", ctrl.Name, "param" & ctrl.TabIndex) End If Next End Sub
Pour cela (d'après Silkyroad), j'ai adapté:
Le problème est que ce dernier code est sans effet. Les paramètres restent sauvés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim ctrl As Control For Each ctrl In monuserform.Controls If (TypeName(ctrl) = "TextBox" Or TypeName(ctrl) = "ComboBox") Then DeleteSetting "parametres", ctrl.Name End If Next monserform.Show
Par avance, Merci pour votre aide.
Partager