Recharger données d'une feuille à l'ouverture de l'User Form

Fermé
locacit Messages postés 2 Date d'inscription jeudi 18 août 2011 Statut Membre Dernière intervention 8 mai 2016 - 8 mai 2016 à 22:33
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 11 mai 2016 à 16:13
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 :

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,

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
9 mai 2016 à 07:56
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
Sheets("SAUVEGARDE")


UserForm1.Controls("TextBox" & i).Value = .Range("A" & i + 1).Value


et

UserForm1.Controls("ComboBox" & i).Value = .Range("B" & i + 1).Value
0
Bonjour,

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
Sub Modifiche_Cliquer()
UserForm1.Show
End Sub


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,
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Locacit
11 mai 2016 à 16:13
Bonjour,

Lancer l'Userform directement dans la fenetre VBA, sans passer par le bouton, pour voir ou est l'erreur
0