Comment fait on pour définir la valeur d'un textbox

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

T

thuan

Guest
Bonjour,
J'ai un petit pb j aimerai calculer les harmoniques pour une fréquence donnée. pour cela je demande dans un textbox la valeur de la fréquence, puis l'utilisateur clic sur un commandbutton nommée calcul pour lancer le calcul, dans 3 textbox j'affiche le résult pour l'harmonique 2, l'harmonique 3, l'harmonique 4.
Pour ce faire il faut multiplier la valeur de la fréquence au début par 2 ou 3 ou 4 suivant l'harmonique souhaiter.
Pouvez vous m'aider... MERCI D'AVANCE
 
voici les ligne de commande que je rentre mais cela ne marche pas

With TextBox1
Select Case .TextBox1.Value
Case .TextBox2.Value: .TextBox2.Caption = TextBox1.Value * 2
Case .TextBox3.Value: .TextBox3.Caption = TextBox1.Value * 3
Case .TextBox4.Value: .TextBox4.Caption = TextBox1.Value * 4
End Select
End With
 
Select Case TextBox1.Value
Case TextBox2.Value: TextBox2.Value = Int(TextBox1.Value) * 2
Case TextBox3.Value: TextBox3.Value = Int(TextBox1.Value) * 3
Case TextBox4.Value: TextBox4.Value = Int(TextBox1.Value) * 4
End Select
 
oki mais la tu vois je rentre donc ton code dans mon programme qui est:

Private Sub UserForm_Initialize()
Dim i As Integer
i = 33
With ComboBox1
.AddItem Sheets("Moteur Porte Meule").Range("C" & i)
.AddItem Sheets("Moteur Porte Pièce").Range("C" & i)
.AddItem Sheets("Moteur de Taillage").Range("C" & i)
.AddItem Sheets("Broche Porte Meule").Range("C" & i)
.AddItem Sheets("Broche Porte Pièce").Range("C" & i)
.AddItem Sheets("Ensemble Bloc Renvoi").Range("C" & i)
.AddItem Sheets("Bloc Serrage").Range("C" & i)
.AddItem Sheets("Palier Intermédiaire Taillage").Range("C" & i)
.AddItem Sheets("Porte Molette Taillage").Range("C" & i)
End With
With TextBox1
Select Case TextBox1.Value
Case TextBox2.Value: TextBox2.Value = Int(TextBox1.Value) * 2
Case TextBox3.Value: TextBox3.Value = Int(TextBox1.Value) * 3
Case TextBox4.Value: TextBox4.Value = Int(TextBox1.Value) * 4
End Select
End With
End Sub

Quand je lance la USF j ai un message d'erreur il me met:
Erreur d'excécution '13' : Incompatibilité de type
 
oki j ai rentré ca comme code alors:

Private Sub UserForm_Initialize()
Dim i As Integer
i = 33
With ComboBox1
.AddItem Sheets("Moteur Porte Meule").Range("C" & i)
.AddItem Sheets("Moteur Porte Pièce").Range("C" & i)
.AddItem Sheets("Moteur de Taillage").Range("C" & i)
.AddItem Sheets("Broche Porte Meule").Range("C" & i)
.AddItem Sheets("Broche Porte Pièce").Range("C" & i)
.AddItem Sheets("Ensemble Bloc Renvoi").Range("C" & i)
.AddItem Sheets("Bloc Serrage").Range("C" & i)
.AddItem Sheets("Palier Intermédiaire Taillage").Range("C" & i)
.AddItem Sheets("Porte Molette Taillage").Range("C" & i)
End With
Select Case TextBox1.Value
Case TextBox2.Value: TextBox2.Value = Int(TextBox1.Value) * 2
Case TextBox3.Value: TextBox3.Value = Int(TextBox1.Value) * 3
Case TextBox4.Value: TextBox4.Value = Int(TextBox1.Value) * 4
End Select
End Sub

Mais il me met le même message d'erreur
 
et bien c dur de dire sans voir les composant.

g vu que tu avais écris 'TextBox2.Caption' . le composant TextBox2 est un Label ?? si oui c normal que ça plante mon code.
vba te met normalement sur la ligne qui le gène donc ça devrai aider
 
Non je n'utilise pas de label ( sauf pour écrire des titres sur ma USF) j'ai bien que des textbox, voici tout mon code en entier tu verra ce qui est déclaré:

Private Sub ComboBox1_Change()
If ComboBox1.ListIndex <> -1 Then Worksheets(ComboBox1.ListIndex + 1).Activate
End Sub
Private Sub CommandButton1_Click()
WSCol.Activate
Unload UserForm1
End Sub
Private Sub TextBox1_Change()

End Sub
Private Sub TextBox2_Change()

End Sub
Private Sub TextBox3_Change()

End Sub
Private Sub TextBox4_Change()

End Sub

Private Sub UserForm_Initialize()
Dim i As Integer
i = 33
With ComboBox1
.AddItem Sheets("Moteur Porte Meule").Range("C" & i)
.AddItem Sheets("Moteur Porte Pièce").Range("C" & i)
.AddItem Sheets("Moteur de Taillage").Range("C" & i)
.AddItem Sheets("Broche Porte Meule").Range("C" & i)
.AddItem Sheets("Broche Porte Pièce").Range("C" & i)
.AddItem Sheets("Ensemble Bloc Renvoi").Range("C" & i)
.AddItem Sheets("Bloc Serrage").Range("C" & i)
.AddItem Sheets("Palier Intermédiaire Taillage").Range("C" & i)
.AddItem Sheets("Porte Molette Taillage").Range("C" & i)
End With
Select Case TextBox1.Value
Case TextBox2.Value: TextBox2.Value = Int(TextBox1.Value) * 2
Case TextBox3.Value: TextBox3.Value = Int(TextBox1.Value) * 3
Case TextBox4.Value: TextBox4.Value = Int(TextBox1.Value) * 4
End Select
End Sub
Private Sub CommandButton2_Click()
WSCol.Activate
End Sub
 
Select Case TextBox1.Value
Case TextBox2.Value:
If IsNumeric(TextBox1.Value) Then TextBox2.Value = Int(TextBox1.Value) * 2
Case TextBox3.Value:
If IsNumeric(TextBox1.Value) Then TextBox3.Value = Int(TextBox1.Value) * 3
Case TextBox4.Value:
If IsNumeric(TextBox1.Value) Then TextBox4.Value = Int(TextBox1.Value) * 4
End Select
 
Bonjour Thuan, Arnaud, Sebb, Le Forum

Moi, sans voir ton fichier, je pense qu'il y a tout simplement erreur dans l'évènement choisi !

UserForm_Initialize, ne peut être utilisé pour cette partie de Select Case, vu qu'à l'initialise ces TextBox sont Vides !!

Vous devriez essayer l'évènement TextBox1_Change()...

Bon Aprèm
@+Thierry
 
salut thierry, sebb, arnaud, le forum

Thierry j'ai pas compris ce que tu voulais que je fasse, mes textbox sont dégà en TextBox1_Change(), qud je les défini.
Peux tu jetter un coup d oeil sur mon code stp merci
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour