Recharger données d'une feuille à l'ouverture de l'User Form
locacit
Messages postés
2
Statut
Membre
-
f894009 Messages postés 17413 Statut Membre -
f894009 Messages postés 17413 Statut Membre -
Bonjour à tous,
J'ai un fichier excel avec un onglet ACCES FICHE qui contient un bouton "Modifier Fiche" et un onglet SAUVEGARDE + un USERFORM qui contient plusieurs textbox et combobox.
Mon objectif est de pouvoir enregistrer les données saisies dans les champs pour, en cas de fermeture du fichier, pouvoir les faire réapparaitre telles que saisies précédemment.
J'ai une macro qui enregistre le contenu des textbox et combobox dans les cellules de l'onglet SAUVEGARDE.
En revanche, je n'arrive pas à appeler les données déjà enregistrées au moment où on ouvre l'UF.
La macro sur le bouton "Modifier Fiche" est celle-ci :
J'ai essayé de compléter les macro activate puis initialize mais ça ne fonctionne pas... (mon UF s'ouvre sans les données enregistrées)
Je n'ai jamais utilisé ACTIVATE ou INITIALIZE avant...
D'avance merci pour votre aide et Bonne Fin de Journée,
J'ai un fichier excel avec un onglet ACCES FICHE qui contient un bouton "Modifier Fiche" et un onglet SAUVEGARDE + un USERFORM qui contient plusieurs textbox et combobox.
Mon objectif est de pouvoir enregistrer les données saisies dans les champs pour, en cas de fermeture du fichier, pouvoir les faire réapparaitre telles que saisies précédemment.
J'ai une macro qui enregistre le contenu des textbox et combobox dans les cellules de l'onglet SAUVEGARDE.
En revanche, je n'arrive pas à appeler les données déjà enregistrées au moment où on ouvre l'UF.
La macro sur le bouton "Modifier Fiche" est celle-ci :
Sub Modifiche_Cliquer()
UserForm1.Show
End Sub
J'ai essayé de compléter les macro activate puis initialize mais ça ne fonctionne pas... (mon UF s'ouvre sans les données enregistrées)
Private Sub UserForm_Initialize()
Dim i As Integer
'Définie la variable i
With Sheets("SAUVEGARDE")
' Va dans l'onglet correspondant pour toutes les prochaines étapes
' Les textBox
For i = 1 To 54
'soit i un chiffre entre 1 et 54 (aussi bien pour les lignes que pour les numéros de textbox)
UserForm1.Controls("TextBox" & i).Value = Range("A" & i + 1).Value
'Recopie les données dans la colonne A
Next i
' Les comboBox
For i = 1 To 19
'soit i un chiffre entre 1 et 54 (aussi bien pour les lignes que pour les numéros de combobox)
UserForm1.Controls("ComboBox" & i).Value = Range("B" & i + 1).Value
'Recopie les données dans la colonne B
Next i
End With
End Sub
Je n'ai jamais utilisé ACTIVATE ou INITIALIZE avant...
D'avance merci pour votre aide et Bonne Fin de Journée,
A voir également:
- Recharger données d'une feuille à l'ouverture de l'User Form
- Fuite données maif - Guide
- Bruler feuille de laurier - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Supprimer les données de navigation - Guide
- Comment supprimer une feuille sur word - Guide
1 réponse
Bonjour,
La fois d'avant vous aviez mis un point devant UserForm1 alors qu'il n'en fallait pas et maintenant vous avez oubliez celui qu'il faut devant Range, car pour l'instant vous prenez des valeurs de l'onglet qui est actif a l'ouverture de l'UF, mais pas
et
La fois d'avant vous aviez mis un point devant UserForm1 alors qu'il n'en fallait pas et maintenant vous avez oubliez celui qu'il faut devant Range, car pour l'instant vous prenez des valeurs de l'onglet qui est actif a l'ouverture de l'UF, mais pas
Sheets("SAUVEGARDE")
UserForm1.Controls("TextBox" & i).Value = .Range("A" & i + 1).Value
et
UserForm1.Controls("ComboBox" & i).Value = .Range("B" & i + 1).Value
Merci pour votre retour, j'ai rajouté le point devant les Range, mais maintenant j'ai une erreur d'execution -214024809 (80070057) Objet spécifié introuvable
sur la ligne UserForm1.Show
de la macro
Je pensais qu'avec la ligne
With Sheets("SAUVEGARDE")cela suffisait pour signifier que toutes les actions auraient lieu dans cet onglet, faut-il que je le précise plutôt pour chaque ligne ?
D'avance merci,
Lancer l'Userform directement dans la fenetre VBA, sans passer par le bouton, pour voir ou est l'erreur