Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Comparer valeur textbox et cellule

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

Y

Yvon

Guest
Bonjour à tous,

J'ai un USF, avec 3 textbox, et souhaite comparer les valeurs introduites dans les texboxs, a une valeur définie dans une cellule, j'ai consulté le forum et essayé plein de formules différentes rien ne fontionne, je vous soumet le code initial qui me parait cohérant :

If TextBox1.Value + TextBox2.Value + TextBox3.Value = sheets(1).Range('K11').Value Then Unload Me
If TextBox1.Value + TextBox2.Value + TextBox3.Value <> sheets(1).Range('K11').Value Then MsgBox 'refaire'

Pas ci cohérant que cela puisqu'il ne fonctionne pas

Par avance merci

a+
Yvon
 
Bonsoir Yvon, bonsoir le forum,

Les valeurs inscritent dans les TextBoxes sont considérées comme texte (String). Il faut les convertir pour pouvoir les additionnées. Essaie comme ça :


If CDbl(TextBox1.Value) + CDbl(TextBox2.Value) + CDbl(TextBox3.Value) = sheets(1).Range('K11').Value Then Unload Me
If CDbl(TextBox1.Value) + CDbl(TextBox2.Value) + CDbl(TextBox3.Value) <> sheets(1).Range('K11').Value Then
MsgBox 'refaire'
 
Bonjour Yvon, Robert, le Forum

Dacodac avec Toi cher Robert, mais voici ma façon de penser !!! (lol)



Bon Weekk End à vous tous et toutes (Ouf TGIF !!!)

[ol]@+Thierry[/ol]
 
Bonsoir Yvon, Thierry, bonsoir le forum,

Tel Rascal dans ses Rancées : 'Tu penses, donc j'essuie'...

J'essuie des larmes de bonheur devant pareil code
J'essuie la bave qui suinte de ma bouche entrouverte
J'essuie le f.. qui perle tellement ce code est b...
J'essuis les plâtres de ma témérité
Je suis dans tous mes état
Je suis dans tout Mèze*, et ta sœur ?
Je suis dans la sœur et je la Mèze...

*petite ville près de Sète...
 
Bonsoir Thierry, Robert, le forum,

Heu.....je ne sais pas bien comment vous dire ça à tous les deux, vos niveaux VBA, étant largement supérieur au mien, mais cela ne fonctionne pas............

Pour Robert rien ne se passe ('pas surpris, j'avais essayé cette méthode), pour thierry, j'ai un message redondant me disant 'valeur non numérique en textbox, ce qui m'a permis de comprendre pourquoi cela coinçait enfin, je suppose.........

Sur les trois textbox, il y en a toujours une des trois qui se déclare volontairement 'Enable', mais bien, sur jamais la même, suivant la position du menu déroulant qui appelle le USF, et ce afin d'interdire la saisie.

Oui, je m'autoflagelle, a fin d'éviter la lapidation, je le reconnais j'aurai pu le dire au début, mais je pensais pas que c'était ça qui coinçait, je l jure..................

Merci de votre aide à tous les deux
a++
Yvon
 
Bonsoir Thierry, Robert, le forum,

J'ai trouvé Ma réponse avec le code suivant, qui est moins accadémique que celui de Thierry et s'ispire largement de celui de Roberts, l'inconvénient est que ce code ne supporte pas le vide, si une textbox est vide il beug

Y aurai til une solution au problème

Private Sub CommandButton1_Click()
If sheets(1).Range('G28').Value = 30 Then
If CDbl(TextBox1.Value) + CDbl(TextBox3.Value) <> sheets(1).Range('K11').Value Then MsgBox 'refaire'
If CDbl(TextBox1.Value) + CDbl(TextBox3.Value) = sheets(1).Range('K11').Value Then Unload Me
End If
If sheets(1).Range('G28').Value = 31 Then
If CDbl(TextBox1.Value) + CDbl(TextBox2.Value) <> sheets(1).Range('K11').Value Then MsgBox 'refaire'
If CDbl(TextBox1.Value) + CDbl(TextBox2.Value) = sheets(1).Range('K11').Value Then Unload Me
End If
If sheets(1).Range('G28').Value = 33 Then
If CDbl(TextBox2.Value) + CDbl(TextBox3.Value) <> sheets(1).Range('K11').Value Then MsgBox 'refaire'
If CDbl(TextBox2.Value) + CDbl(TextBox3.Value) = sheets(1).Range('K11').Value Then Unload Me
End If

End Sub


Merci à tous les deux sans vous je n'aurai pu identifier mes erreurs, bons week end

a++
Yvon
 
Bonsoir Yvon, Thierry, bonsoir le forum,

Hé Yvon... Essaie comme ça mais ne le dis surtout pas à Thierry qui va m'escagacer...
Place ces lignes en tout début de code :

If TextBox1.Value = '' Then TextBox1.Value = 0
If TextBox2.Value = '' Then TextBox2.Value = 0
If TextBox3.Value = '' Then TextBox3.Value = 0

Mais franchement, le code de Thierry est beaucoup plus pro. Je te conseille vivement, pour qu'il me pardonne, de l'utiliser. Je l'ai adapté pour qu'il gère les TextBoxes vides et te l'ai commenté afin que tu le comprennes mieux :



Message édité par: Robert, à: 25/11/2005 23:22
 
Merci beaucoup Robert, ça tourne au poil,

Un grand merci pour ton explication de code, très didactique (entre nous c'est grace à cela que l'on peut comprendre ce que l'on fait et pas copier coller bêtement), et l'adaptation, cela m' a ouvert de nouveaux horizons, en effet le code de Thierry que je remercie au passage, est super Pro (on va pas lui dire, il pourrait le croire).

Merci à tout les deux d'avoir fait avancer le chimili.....

Bon Week end
a+
Yvon
 
- 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
4
Affichages
229
Réponses
2
Affichages
588
Réponses
3
Affichages
922
Réponses
4
Affichages
652
B
  • Question Question
Réponses
3
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…