Problème de reconnaissance de valeur dans objet TextBox

Bonjour à tous, je suis nouveau sur le forum et je cherche une solution à ma macro.

Je souhaite que l'utilisateur entre un poids dans un Textbox (nommée : POIDS) et que le TextBox TRANCHE DE POIDS se mette à jour en fonction du poids renseigné et de la tranche de poids dans laquelle il se trouve.

Mon problème majeur est que la macro ne reconnait aucune valeur entrée dans mon TextBox POIDS.

Donc il me sort toujours le message box "Le Poids ne peut-être nul ou négatif" que j'ai paramétré

Quelqu'un aurait-il une solution.

Ci-dessous la macro en question :

Private Sub POIDS_CHANGE()

Dim POIDS As Integer

Dim TRANCHEPOIDS As Integer

Pds = POIDS

Tpds = TRANCHEPOIDS

If Pds > 0 And Pds <= 89 Then

Tpds.Value = Application.WorksheetFunction.MRound(POIDS + 5, 10) - 1

ElseIf Pds > 89 And Pds <= 100 Then

Tpds = 100

ElseIf Pds > 100 And Pds <= 299 Then

Tpds = 299

ElseIf Pds > 299 And Pds <= 499 Then

Tpds = 499

ElseIf Pds > 499 And Pds <= 699 Then

Tpds = 699

ElseIf Pds > 699 And Pds <= 999 Then

Tpds = 999

ElseIf Pds > 999 And Pds <= 3000 Then

Tpds = 3000

ElseIf Pds > 3000 Then

MsgBox "En Messagerie le Poids ne peut excéder 3000 KG, pour un seul destinataire"

Else

MsgBox "Le Poids ne peut-être nul ou négatif"

End If

End Sub

Bonjour

Quand tu écris

Dim POIDS As Integer

tu initialise ta variable POIDS à 0

Et si ensuite tu marques

Pds = POIDS

ta variable Pds est initialisée à 0 donc tu as ton message d'erreur "Le Poids ne peut-être nul ou négatif"

Ton fichier serait utile : je pense à une confusion entre la TextBox (POIDS) et une variable (POIDS)

Sans grande conviction modifies la macro

Private Sub POIDS_CHANGE()
Dim Pds As Integer
Dim Tpds As Integer

  Pds = POIDS

  If Pds > 0 And Pds <= 89 Then

'.
' suite normale
'.
  TRANCHEPOIDS = Tpds
End Sub

Bonjour Banzai64,

je te remercie pour ta réponse rapide, effectivement DIM POIDS as integer polluait mon code. Par contre, le problème que j'ai maintenant c'est que la tranche de poids ne vient pas s'inscrire dans mon TextBox TRANCHEPOIDS.

J'ai essayé de mettre :

Tpds.value= 699 (par exemple) mais j'ai une erreur d'exécution 424 : Objet requis

Aurais-tu une solution?


Re BANZAI64,

C'est bon j'ai trouvé effectivement je suis allé trop vite en lisant ta réponse, je n'avais pas levé Tpds =TRANCHEPOIDS au début du code et j'ai rajouté TRANCHEPOIDS=Tpds en fin et ça marche

Je te remercie encore pour ton aide précieuse.

A bientôt,

Rechercher des sujets similaires à "probleme reconnaissance valeur objet textbox"