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
- Supprimer les données de navigation - Guide
- Sytadin fermeture - Télécharger - Transports & Cartes
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.