Garder en mémoire les données d'une userform après fermeture
thomanneca
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
J'aimerais conserver en mémoire lors d'une réouverture de mon fichier excel les données précédemment introduite dans mon userform.
J'arrive à les stocker sur une autre page mais je ne parviens pas à aller les rechercher.
Voici mon code :
Private Sub JoursFeries_Click() 'quand je clic sur un bouton, mon userform s'ouvre
userform1.Show
'ou même plus simplement pour un test :
merci d'avance
J'aimerais conserver en mémoire lors d'une réouverture de mon fichier excel les données précédemment introduite dans mon userform.
J'arrive à les stocker sur une autre page mais je ne parviens pas à aller les rechercher.
Voici mon code :
Private Sub JoursFeries_Click() 'quand je clic sur un bouton, mon userform s'ouvre
userform1.Show
For i = 1 To 30
For j = 2 To 11
userform1.Controls("TextBox" & i).Value = Sheets("data vba").Range("B" & i + 1).Value
Next
Next
'ou même plus simplement pour un test :
userform1.textbox1.value=sheets("data vba").range("B2").value
End Sub
merci d'avance
A voir également:
- Garder en mémoire les données d'une userform après fermeture
- Fuite données maif - Guide
- Mémoire vive - Guide
- RAM : type, format, CAS, vitesse, tout sur la mémoire vive - Guide
- Effacer les données de navigation sur android - Guide
- Forcer fermeture application windows - Guide
4 réponses
oui pardon,
Private Sub JoursFeries_Click() 'quand je clic sur un bouton, mon userform s'ouvre
userform1.Show
For i = 1 To 30
For j = 2 To 11
userform1.Controls("TextBox" & i).Value = Sheets("data vba").Range("B" & j + 1).Value
Next
Next
en fait je crois bien que cela ne marchera pas en effet. Reprenons un simple retour de donnée pour une cellule alors, je regarderai après pour les autres
même cela ne marche pas
Private Sub JoursFeries_Click()
userform1.Show
userform1.textbox1.value=sheets("data vba").range("B2").value
même cela ne marche pas
Tu as donc 30 textboxes mais il n'y a que 10 cellules de renseignées !!! tu as la valeur de la même cellule dans 3 textboxes ?
Pourquoi faire For j = 2 to 11 pour ensuite faire Range("B" & j + 1).Value ?
Autant faire For j = 3 to 12 ? non ?
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Pourquoi faire For j = 2 to 11 pour ensuite faire Range("B" & j + 1).Value ?
Autant faire For j = 3 to 12 ? non ?
«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
Private Sub BoutonValiderJoursFeries_Click()
Application.ScreenUpdating = False
With Sheets("data vba")
.[B2] = userform1.TextBox1.Value
.Range("C2") = userform1.TextBox2.Value
.Range("D2") = userform1.TextBox3.Value
.Range("B3") = userform1.TextBox4.Value
.Range("C3") = userform1.TextBox5.Value
.Range("D3") = userform1.TextBox6.Value
.Range("B4") = userform1.TextBox7.Value
.Range("C4") = userform1.TextBox8.Value
.Range("D4") = userform1.TextBox9.Value
.Range("B5") = userform1.TextBox10.Value
.Range("C5") = userform1.TextBox11.Value
.Range("D5") = userform1.TextBox12.Value
.Range("B6") = userform1.TextBox13.Value
.Range("C6") = userform1.TextBox14.Value
.Range("D6") = userform1.TextBox15.Value
.Range("B7") = userform1.TextBox16.Value
.Range("C7") = userform1.TextBox17.Value
.Range("D7") = userform1.TextBox18.Value
.Range("B8") = userform1.TextBox19.Value
.Range("C8") = userform1.TextBox20.Value
.Range("D8") = userform1.TextBox21.Value
.Range("B9") = userform1.TextBox22.Value
.Range("C9") = userform1.TextBox23.Value
.Range("D9") = userform1.TextBox24.Value
.Range("B10") = userform1.TextBox25.Value
.Range("C10") = userform1.TextBox26.Value
.Range("D10") = userform1.TextBox27.Value
.Range("B11") = userform1.TextBox28.Value
.Range("C11") = userform1.TextBox29.Value
.Range("D11") = userform1.TextBox30.Value
End With
Il suffit de faire l'inverse ...
C'est à dire:
Et de coller ça dans l'évènement UserForm_Initialize() de l'userform1.
C'est à dire:
With userform1
.TextBox1.Text = Sheets("data vba").Range("B2").Value
.TextBox2.Text = Sheets("data vba").Range("C2").Value
.TextBox3.Text = Sheets("data vba").Range("D2").Value
' .... etc ...
End With
Et de coller ça dans l'évènement UserForm_Initialize() de l'userform1.