Passer données d'un user form à un autre

coudu -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,j'ai deux userforms.
Le premier possède un texbox1 dans lequel je rentre un nombre.
Dessou j'ai un checkbox, j'aimerais que si je selectionne le checkbox et que j'appuie sur valider alors le nombre rentré dans le textbox 1 sois reporté dans un textbox2 de l'userform 2.
merci pour votre aide
A voir également:

9 réponses

pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
0
coudu
 
Re, ça marche maintenant, le problème, c'est que ça n'additionne pas; je m'explique
Dans userform 1 je mets 4 je selectionne le checkbox et je valide, alors dans le textbox2 de l'userform 2 , le chiffre 4 se mettre derriere l'autre, iln'est pas additionné.
Exemple: 4+3, j'obtient 43 au lieu de 7

merci bcp pr ton aide
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Peux tu, stp, nous montrer le code que tu utilises?
0
coudu
 
Voici mon code:
Private Sub CommandButton1_Click()
If CheckBox1 = True Then
UserForm1.TextBox1.Value = UserForm1.TextBox1.Value + UserForm2.TextBox1.Value
End If
UserForm2.Hide
End Sub

Merci
0

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

Posez votre question
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
De rien je n'ai encore rien fait...
Un TextBox renvoie un chaine de caractères (ce que tu saisis) sous format "texte". Pour faire une addition, il faut que cette chaine de caractère soit au format "nombre".
Ok?
Donc 2 choix :
1-
'tu déclares des variables nombre :
Dim i as Integer, j as Integer
'et tu leur affecte la valeur contenue dans tes textbox
i = UserForm1.TextBox1.Value
j = UserForm2.TextBox1.Value
'et tu les additionnes
UserForm1.TextBox1.Value = i + j

2- convertir directement dans le code :

Private Sub CommandButton1_Click()
If CheckBox1 = True Then
UserForm1.TextBox1.Value = CInt(UserForm1.TextBox1.Value) + CInt(UserForm2.TextBox1.Value)
End If
UserForm2.Hide
End Sub
0
coudu
 
super ça marche, mais le seul problème c'est que lorsque je ferme l'user form les valeurs sont perdues.
Il y à t'il une expression qui ferai que mes valeurs serait"sauvegardée"?
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Pour conserver tes valeurs, il te faut les placer dans une cellule de ta feuille.
[A1] = UserForm1.TextBox1.Value
0
coudu
 
Puré js con...
dis j'ai une derniere question...
est'il possible de bloquer un bouton de commande(command bouton1) si la valeur de la textbox1 est
inférieur à 1?

interdire l'utilisation en quelque sorte

merci d'avance
0
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
Oui.
exemple dans le code du commandButton que nous avons fait précédemment :
Private Sub CommandButton1_Click()
If Cint(TextBox1.Value) < 1 Then
Exit Sub
End If

If CheckBox1 = True Then
UserForm1.TextBox1.Value = CInt(UserForm1.TextBox1.Value) + CInt(UserForm2.TextBox1.Value)
End If
UserForm2.Hide
End Sub
0