Userform comment garder données à la fermeture du classeur dans les textbox?

  • Initiateur de la discussion Initiateur de la discussion tarvel
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

tarvel

XLDnaute Occasionnel
Bonjour,
Comment faire pour garder les dernière données rentrées dans les textbox d'un userform lorsque je ferme le classeur???
J'ai bien essayé dans le sub Form :
ThisWorkbook.Save
Mais ça ne fonctionne pas!
Merci pour votre aide
 
Re : Userform comment garder données à la fermeture du classeur dans les textbox?

Bonjour ,

Et non ca ne fonctionne pas comme cela pour un userform.

Il faut sauvegarder soit dans un onglet dédié ou dans un fichier texte ou csv . avant fermeture .

Puis récupérer avant l'affichage de l'userform.

Sans fichier difficile de te préciser davantage .
 
Re : Userform comment garder données à la fermeture du classeur dans les textbox?

Bonjour,

au lieu de faire "unload Me" qui décharge ce qu'il y a en mémoire, tu fais "UserForm.Hide". Mais si tu fermes ton fichier, cette procédure n'est pas valable.
 
Re : Userform comment garder données à la fermeture du classeur dans les textbox?

Merci pour vos réponses...En fait je vais utiliser les valeurs enregistées dans un onglet
Et j'ai cherché en complément dans d'autres forums avec :
UserForm_Initialize et UserForm_QueryClose placés dans le sub quand je valide avec OK CommandButton.
Code:
Private Sub UserForm_Initialize()
With Sheets("Valeurs")
TextVille = .Range("A1")
TextDate = .Range("A2") etc...
End With

Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
With Sheets("Valeurs")
.Range("A1") = TextVille
.Range("A2") = TexDate etc...
End With
Ca permet aussi de garder les dernières valeurs enregistrées!!!
 
Re : Userform comment garder données à la fermeture du classeur dans les textbox?

Bonjour,

Une autre approche en utilisant la propriété Tag de chaque TextBox.

1) Copiez le code suivant dans la fenêtre de code du UserForm
Code:
Private Sub UserForm_Initialize()
Dim CT As Control
Dim i&
'---
For Each CT In Me.Controls
  If TypeName(CT) = "TextBox" Then
    CT.Value = CT.Tag
  End If
Next CT
End Sub

Private Sub UserForm_Terminate()
Dim CT As Control
Dim i&
'---
UsfName = Me.Name
For Each CT In Me.Controls
  If TypeName(CT) = "TextBox" Then
    i& = i& + 1
    ReDim Preserve CollectionTextBox(1 To i&)
    CollectionTextBox(i&).Name = CT.Name
    CollectionTextBox(i&).Value = CT.Value
  End If
Next CT
'---
Application.OnTime Now + TimeValue("00:00:00"), "SetValueInTag"
End Sub

2) Copiez le code suivant dans un module Standard
Code:
Type structTextBox
  Name As String
  Value As String
End Type

Public CollectionTextBox() As structTextBox
Public UsfName As String

Sub SetValueInTag(Optional dummy As Byte)
Dim i&
Dim USFDesign As Object
'---
Set USFDesign = ThisWorkbook.VBProject.VBComponents(UsfName).Designer
For i& = 1 To UBound(CollectionTextBox)
  USFDesign.Controls(CollectionTextBox(i&).Name).Tag = CollectionTextBox(i&).Value
Next i&
Erase CollectionTextBox
End Sub

A la fermeture du UserForm, les Tags des TextBoxes sont renseignés par leur valeur.
A la relance du UserForm, les données remontent.
Il faudra sauvegarder le classeur quand Excel sera quitté pour conserver les données.
 

Pièces jointes

Re : Userform comment garder données à la fermeture du classeur dans les textbox?

Bonjour PMO2,

Désolé de m'incruster, j'ai téléchargé ton fichier mais l'userform ne s'affiche pas quand on clique sur le bouton. le code est sur commadbutton1 alors que c'est commandbutton2. Remarque même avec un nouveau bouton ça ne fonctionne pas, par contre on peut l'afficher en exécutant le code de l'userform à partir de vbe. je n'ai pas compris pourquoi?
 
Re : Userform comment garder données à la fermeture du classeur dans les textbox?

J'ai omis de dire qu'il faut activer "Accès approuvé au modèle d'objet du projet VBA".
 

Pièces jointes

  • xxxxxxx.jpg
    xxxxxxx.jpg
    37.1 KB · Affichages: 95
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
83
Réponses
1
Affichages
220
Réponses
2
Affichages
311
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
361
Réponses
5
Affichages
387
Retour