TextBox lié à un cellule

  • Initiateur de la discussion Initiateur de la discussion Delirium
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Delirium

XLDnaute Occasionnel
Bonsoir a tous.

J'ai un Userform avec 2 TextBox et un label.

Je voudrais qu’à l'ouverture de mon userform les données des cellules liées (A1 et A2 de la feuille'Déperditions' par exemples') au deux TextBox soient automatiquement affichées et que lorsque l'utilisateur modifie les données des TextBox, les données des cellules liées soient automatiquement modifiées.

Mon Label affiche la valeur de la cellule A3, qui est le résultat d'un calcul entre A1 et A2. Je voudrais que cette valeur s'affiche instantanément dans mon Userform et non pas à son initialisation.

Si quelqu’un pouvait me donner un coup de main.

Merci.
 
Bonjour le forum
bonjour Délirium

Dans le code de ton USF
Code:
Private Sub UserForm_Initialize()
TextBox1.Value = Range('A1')
TextBox2.Value = Range('A2')
Label1.Caption = Val(TextBox1.Value) + Val(TextBox2.Value)
End Sub

Dans le code de ta feuille
Code:
Private Sub Worksheet_Calculate()
UserForm1.TextBox1.Value = Range('A1')
UserForm1.TextBox2.Value = Range('A2')
UserForm1.Label1.Caption = Val(UserForm1.TextBox1.Value) + Val(UserForm1.TextBox2.Value)
End Sub

Code de ton bouton d'appel (si Btn de feuille)
Code:
Private Sub CommandButton1_Click()
UserForm1.Show 0
End Sub
😉 Bon appétit
 
Bonsoir Eric et merci pour ton aide.

J'ai testé ton code.

A l'ouverture de l'userform les données des cellules s'affiche bien dans les TextBox mais lorsque je modifie les valeurs dans les textBox les valeurs des cellules ne se modifie pas.

merci et @+
 
Bonjour le forum
Bonjour Délirium

Eh bien pour avoir en direct live les valeurs de tes TextBox mises à jour, tu agis sur leur perte de focus :

Code:
Private Sub TextBox1_Change()
Range('A1') = TextBox1.Value
End Sub
                    Ou
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Range('A1') = TextBox1.Value
End Sub
Bonne journée 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

E
Réponses
3
Affichages
993
E
Retour