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

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.
 

Paf

XLDnaute Barbatruc
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:

mapomme

XLDnaute Barbatruc
Supporter XLD
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)
 

Discussions similaires

Réponses
15
Affichages
485
Réponses
12
Affichages
438

Statistiques des forums

Discussions
312 111
Messages
2 085 396
Membres
102 882
dernier inscrit
Sultan94