Magic_Doctor
XLDnaute Barbatruc
Bonsoir,
Il est bien pratique, quand on ouvre un USF avec des objets (TextBox, ComboBox…) où l’on rentre des données, que les dernières données entrées avant la fermeture de l’USF ou du classeur puissent être présentes lors de la nouvelle ouverture de l’USF sans avoir à les rentrer à nouveau. Dommage qu’il n’y ait pas une option dans l’USF qui permette de choisir si l’on veut ou pas garder en mémoire ses données avant fermeture.
Job75 avait, dans un autre fil, donné une astuce qui résolvait le problème.
Supposons que l’USF s’appelle « USF_Aleatoire ».
Dans cet USF il y a un CommandButton qui, quand on clique dessus, déclenche une macro, mais en fin de macro il y a la phrase magique :
Application.OnTime Now, "EnregistrerUSF_Aleatoire"
Dans un module standard il y a la macro "EnregistrerUSF_Aleatoire" :
Il faut donc impérativement cliquer sur le CommandButton pour garder en mémoire les données de l’USF.
Et si l’on cliquait sur la petite croix après avoir modifié des données dans l’USF mais en omettant de cliquer sur le CommandButton… ? À l’ouverture de l’USF les modifications n’ont évidemment pas été prises en compte.
Que cela ne tienne, avec audace et détermination, j’ai rédigé ceci dans le module du formulaire « USF_Aleatoire » :
Je modifie les données de l’USF et je clique sur la petite croix et… Ouh putain ! Un bordel comme rarement j’en ai vu. Le truc qui tue ! Tout se bloque, le congélo se transforme en micro-ondes, le pacemaker de la voisine s’arrête, faut faire un reset !!
Peut-on garder les données d’un USF après avoir cliqué sur son bouton de fermeture dans la barre de titre ?
Merci pour tout avis.
Il est bien pratique, quand on ouvre un USF avec des objets (TextBox, ComboBox…) où l’on rentre des données, que les dernières données entrées avant la fermeture de l’USF ou du classeur puissent être présentes lors de la nouvelle ouverture de l’USF sans avoir à les rentrer à nouveau. Dommage qu’il n’y ait pas une option dans l’USF qui permette de choisir si l’on veut ou pas garder en mémoire ses données avant fermeture.
Job75 avait, dans un autre fil, donné une astuce qui résolvait le problème.
Supposons que l’USF s’appelle « USF_Aleatoire ».
Dans cet USF il y a un CommandButton qui, quand on clique dessus, déclenche une macro, mais en fin de macro il y a la phrase magique :
Application.OnTime Now, "EnregistrerUSF_Aleatoire"
Dans un module standard il y a la macro "EnregistrerUSF_Aleatoire" :
VB:
Sub EnregistrerUSF_Aleatoire()
'Garde en mémoire les dernières valeurs du formulaire "USF_Aleatoire"
'job75
Dim LimInf$, LimSup$
LimInf = USF_Aleatoire.TextBox1
LimSup = USF_Aleatoire.TextBox2
Limites = USF_Aleatoire.Label4 '"Limites" variable "Public"
virg = USF_Aleatoire.ComboBox1 '"virg" variable "Public"
Unload USF_Aleatoire
ThisWorkbook.VBProject.VBComponents("USF_Aleatoire").Designer.Controls("TextBox1") = LimInf
ThisWorkbook.VBProject.VBComponents("USF_Aleatoire").Designer.Controls("TextBox2") = LimSup
ThisWorkbook.VBProject.VBComponents("USF_Aleatoire").Designer.Controls("Label4") = Limites
ThisWorkbook.VBProject.VBComponents("USF_Aleatoire").Designer.Controls("ComboBox1") = virg
End Sub
Et si l’on cliquait sur la petite croix après avoir modifié des données dans l’USF mais en omettant de cliquer sur le CommandButton… ? À l’ouverture de l’USF les modifications n’ont évidemment pas été prises en compte.
Que cela ne tienne, avec audace et détermination, j’ai rédigé ceci dans le module du formulaire « USF_Aleatoire » :
VB:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.OnTime Now, "EnregistrerUSF_Aleatoire"
End Sub
Peut-on garder les données d’un USF après avoir cliqué sur son bouton de fermeture dans la barre de titre ?
Merci pour tout avis.