Additonner des valeurs obtenu par calcul sur textbox

  • Initiateur de la discussion Initiateur de la discussion H@nnoun
  • 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 !

H

H@nnoun

Guest
Bonjour le forum
J'ai encore besoin de votre savoir

j'ai 12 textbox dans un usf

dans ce cas j'obtient le resultat en D5 si tous les textbox sont remseigné

Range("D5") = Val(UserForm1.QTextBox3 / UserForm1.TextBox15) + Val(UserForm1.QTextBox4 / UserForm1.TextBox16) + Val(UserForm1.QTextBox5 / UserForm1.TextBox17) + Val(UserForm1.QTextBox6 / UserForm1.TextBox18) + Val(UserForm1.QTextBox7 / UserForm1.TextBox19) + Val(UserForm1.QTextBox8 / UserForm1.TextBox20)

mais si un textbox est vide j'ai une erreur de compilation sub,function ou property attendue


j'ai donc essaye se code mais la je galere

Dim HP1 As Integer
Dim HP2 As Integer
Dim HP3 As Integer
Dim HP4 As Integer
Dim HP5 As Integer
Dim HP6 As Integer
Dim MonTotal As Double

If UserForm1.QTextBox3 <= "" Or UserForm1.TextBox15 <= "" Then
HP1 = 0
Else: Val (HP1 + (UserForm1.QTextBox3 / UserForm1.TextBox15))

If UserForm1.QTextBox4 <= "" Or UserForm1.TextBox16 <= "" Then
HP2 = 0
Else: HP2 = Val(UserForm1.QTextBox3 / UserForm1.TextBox16)


If UserForm1.QTextBox5 <= "" Or UserForm1.TextBox17 <= "" Then
HP3 = 0
Else: HP3 = Val(UserForm1.QTextBox3 / UserForm1.TextBox17)

MonTotal = (HP1 + HP2 + HP3 )

Range("D5") = MonTotal

resultat je coule

merci de votre aide

H@nnoun
 
je suis pas un as de excel mais pourquoi tu ne fais pas ds ton premiers code une vérification que tes textbox ont des valeurs numériques avec "Isnumeric"... si après vérification un des textbox est vide ou avec une valeur non numérique tu fais apparaitre un msgbox demandant de vérifier le remplissage des textbox.... et tu ne fais le calcul que si toute les vérifications ne révèlent rien d'anormales... voila, enfin je met bcp de reserve sur ma reponse...
 
re Bonsoir Milsheaker le forum
merci pour ta reponse
mais j'ai oublie de dire qu'il n'est pas obligatoire de remplir tous les textbox que les vides sont autorise
la seul obligation c'est d'avoir un qtextbox et un textbox associe pour l'operation

Merci pour ton aide
H@nnoun
 
disons que si tu te contente de ne faire qu'avec " " si qql te rentre une valeur non numétique il va y avoir une erreur dc je pense qu'il vaut mieux que tu fasse avec pour chaque HP voulu :

If Not IsNumeric(TextBox1) Or Not IsNumeric(TextBox2) Then
HP1 = 0
Else
HP1 = Val((UserForm1.TextBox1 / UserForm1.TextBox2))
End If

et ainsi de suite... en changeant les textbox et les HP tu devrai arriver a faire ce que tu veux...
 
non dsl je me suis trompé il faut mettre :

If IsNumeric(TextBox1) And IsNumeric(TextBox2) Then
HP1 = Val((UserForm1.TextBox1 / UserForm1.TextBox2))
Else
HP1 = 0
End If

voila normalemnt j'ai testé et ca marche... a moins de ne pas avoir bien compris ce que tu voulai faire 😱) ... mais je préfere pas trop m'avancer...
 
- 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

Réponses
0
Affichages
626
Réponses
3
Affichages
968
Réponses
7
Affichages
1 K
Retour