Actualiser Textbox de mon UserForm

Résolu
MrUnknown -  
 MrUnknown -
Bonjour à tous,

J'ai un problème qui me coince depuis un moment, la solution ne doit pas être difficile mais je n'y parvient pas. (Débutant VBA)

Alors voilà, j'ai 6 cellules sur excel qui se mettent à jours toutes les minutes. Leurs données sont reprisent par 6 Textbox dans mon Usf, jusque là tout va bien, mes textbox copient les données exactes de mes cellules...
Mais lorsque les données de mes cellules changent, les données dans mes textbox restent les mêmes... :(

Voilà le code:


Private Sub UserForm_Initialize()

UserForm1.TextBox1.Value = Format(Sheets("Feuil3").Range("C5").Value, "0.00")
UserForm1.TextBox2.Value = Format(Sheets("Feuil3").Range("F5").Value, "0.00")
UserForm1.TextBox3.Value = Format(Sheets("Feuil3").Range("I5").Value, "0.00")
UserForm1.TextBox4.Value = Format(Sheets("Feuil3").Range("C8").Value, "0.00")
UserForm1.TextBox5.Value = Format(Sheets("Feuil3").Range("F8").Value, "0.00")
UserForm1.TextBox6.Value = Format(Sheets("Feuil3").Range("I8").Value, "0.00")

End Sub



Que manque-t-il pour actualiser? Doevents?call?Refresh?

Merci de votre aide :D


6 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

j'ai 6 cellules sur excel qui se mettent à jours toutes les minutes comment ?
Profites de cette mise à jour pour actualiser le formulaire (avec un call)
1
MrUnknown
 
Merci pour ta réponse Patrice,

Enfaite tout ce fait sur excel, ce sont des données importées du web et calculées

Les 6 cellules sont les résultats et sont réglées dans les propriétés pour être actualisées toutes les 1 minutes, (Réglage Excel)

Il faut simplement que le resultat des cellules correspondent au textbox :D
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Il faut activer les évènements de la requête (QueryTable) et utiliser l'évènement AfterRefresh
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Bonjour, bonjour Patrice, d'accord avec toi pour la QueryTable
@MrUnknown : un tuto qui pourrait t'aider
A+

Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
0
MrUnknown
 
Merci pour ces infos utile lermite222 mais je pense m'être mal exprimé.

Car je n'ai pas besoin d'une connection web depuis mon userform VBA...
J'ai tout fait sur excel...

Exemple:
Il faut simplement que "textbox1" = cellule "a1"
Et quand "a1" changent de valeur, "textbox1" aussi.

Êtes vous sûr qu'il faut une QueryTable pour faire ça?

Merci
0
lermite222 Messages postés 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
Non, pas nécessaire d'une QueryTable si tu à un compte quelque part et les autorisations nécessaire.
Pour actualiser tes TextBox..
Sur la feuille où tes données arrive tu met une formule.. par Exemple : en B1 .. =A1
et dans l'événement Calculate tu actualise tes textbox.
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MrUnknown
 
Okay merci beaucoup je vais chercher de ce côté là ;)
0
MrUnknown
 
Merci à vous deux de m'avoir mit sur la piste,

J'ai fini par trouvé en ajoutant simplement ce code dans la feuille 3.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "C5" Then UserForm1.TextBox1.Value = Target.Value
If Target.Address(0, 0) = "F5" Then UserForm1.TextBox2.Value = Target.Value
If Target.Address(0, 0) = "I5" Then UserForm1.TextBox3.Value = Target.Value
If Target.Address(0, 0) = "C8" Then UserForm1.TextBox4.Value = Target.Value
If Target.Address(0, 0) = "F8" Then UserForm1.TextBox5.Value = Target.Value
If Target.Address(0, 0) = "I8" Then UserForm1.TextBox6.Value = Target.Value
End Sub

A plus ;)
0