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

coudu - 11 déc. 2009 à 11:15
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 11 déc. 2009 à 15:54
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
11 déc. 2009 à 11:19
0
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
11 déc. 2009 à 11:38
Peux tu, stp, nous montrer le code que tu utilises?
0
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
11 déc. 2009 à 13:35
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
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
11 déc. 2009 à 14:25
Pour conserver tes valeurs, il te faut les placer dans une cellule de ta feuille.
[A1] = UserForm1.TextBox1.Value
0
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 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 759
11 déc. 2009 à 15:54
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