vba, transfert d'une donnée vers une textbox

  • Initiateur de la discussion Initiateur de la discussion Paoli33
  • 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 !

Paoli33

XLDnaute Nouveau
Bonjour,

Je cherche à réaliser la chose suivante :
Lors du renseignement d'un premier Userform avec deux textbox, je souhaite récupérer la différence de ces deux données pour l'afficher lors de l'ouverture du second userform.
Pour cela j'ai défini une variable public dans un module
Code:
Dim difference as long

Dans la validation de mon premier userform j'ai le text suivant :
Code:
Private Sub CommandButton1_Click()
i = 2 ' Nombre de Text box de même nom
For J = 1 To i
   If Me.Controls("TextBox" & J) = "" Then
        MsgBox "La ligne " & J & " n'est pas renseignée"
   End If
Next
Difference = (Val(TextBox2.Text) - Val(TextBox1.Text)) / 10
UserForm9.Show
End Sub

Et lors de l'initialisation du second Userform j'ai le text suivant :
Code:
Private Sub UserForm_Initialize()
TextBox1 = Difference
End Sub

Est ce qu'une personne pourrait me mettre sur la voie ?

Enfin j'ai une seconde question. Est il possible de fermer le premier Userform sans pour cela perdre la donnée "Difference".

Vous remerciant pas avance.
 
Re : vba, transfert d'une donnée vers une textbox

Bonjour,

la méthode est correcte. Mais la variable "Difference" déclarée en public n'a pas de majuscule alors qu'elle est utilisée avec une majuscule dans le reste du code.

Bonne suite

edit : la variable Difference étant en public, le premier userform peut être fermé, la fermeture n'affecte que les variables locales

Re edit, la variable difference n'est pas déclarée en public !!! (Dim difference as long au lieu de Public Difference as Long)
 
Dernière édition:
Re : vba, transfert d'une donnée vers une textbox

Bonsoir Paoli33,

Peut-être?:

La variable difference est déclarée en tant qu'entier long. Le résultat du calcul est donc arrondi à l'entier le plus proche ( (4-3)/10 ==> 0 au lieu de 0,1)
En déclarant difference comme un single, la 2eme boite de dialogue affiche un nombre décimal avec virgule (==> 0,1)
 
- 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

Réponses
3
Affichages
48
  • Question Question
Microsoft 365 VBA insert photos
Réponses
12
Affichages
796
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
80
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
504
Retour