XL 2010 Récupérer la valeur d’une variable à l’ouverture d’un fichier

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

Le problème est simple.
Dans un module standard, j’ai une variable "remember" déclarée Public.

Dans un UserForm il y a deux TextBox : un (TxB1) qui recueille automatiquement à l’ouverture de l’UF une valeur, l’autre (TxB2) dans lequel on y rentre une valeur.

On rentre une valeur dans TxB2, cette valeur est mémorisée dans la variable "remember", on ferme l’UF.
On ouvre l’UF, TxB1 affiche la valeur de la variable "remember" avant la dernière fermeture de l'UF. TxB2 est vierge en attendant qu’on y entre une nouvelle valeur.

Jusqu’à présent tout marche bien. Mais maintenant, si je ferme le fichier et que je le rouvre, "remember" est désespérément vide (autrement dit, TxB1 est vierge quand on ouvre l'UF). Comment faire en sorte qu’il mémorise la dernière valeur entrée dans TxB2, sans devoir contourner ce problème à la hussarde en conservant cette valeur dans une cellule de la feuille ?
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @Magic_Doctor :), @sylvanu :),

Une autre méthode consiste à utiliser un nom au sein du classeur :
  • Le nom s'appelle "Remember"
  • On lui attribue la valeur de TxB2 à chaque changement de TxB2 (l'évènement pour sauvegarder la valeur peut être modifié : fermeture du UserForm, Update de TxB2, etc...)
  • Ce nom peut être masqué si on le désire (Visible:=False)
  • La lecture du nom se fait via [remember]
  • Le nom est persistant après la fermeture du fichier
Le code :
VB:
Private Sub TxB2_Change()
   ThisWorkbook.Names.Add Name:="Remember", RefersToR1C1:=UserForm1.TxB2, Visible:=True
End Sub

Private Sub UserForm_Initialize()
   On Error Resume Next
   TxB1 = [remember]
End Sub
 

Pièces jointes

  • Magic_Doctor- Stocker valeur- v1.xlsm
    18.5 KB · Affichages: 17
Dernière édition:

Discussions similaires

Réponses
7
Affichages
351

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 205
dernier inscrit
zch