MsgBox dans UserForm.TextBox

Résolu
Bonjour,

Mon code :

Private Sub TextBox_NOMBREPR100_Change()
If UserForm1.CheckBox4.Value = False Then
UserForm1.TextBox_NOMBREPR100.Value = ""
MsgBox ("Impossible d'indiquer une quantité si la case contenant le type de palette n'est pas cochée.")
End If
End Sub


Je ne comprend pas pourquoi si je modifie ma TextBox_NOMBREPR100 et que la la CheckBox n'est pas cochée, j'ai la MsgBox mais 2 fois...

Merci d'avance.

Cordialement.

4 réponses

  1. Bonjour
    je pense que si car tu te melange un peux

    voila une solution pour mettre des quantiter
    Private Sub UserForm_Initialize()
       TextBox4.Locked = True
    End Sub
    
    Private Sub CheckBox4_Click()
       If CheckBox4.Value = True Then
          TextBox4.Locked = False
       Else
          TextBox4.Locked = True
          TextBox4.Value = ""
       End If
    End Sub
    
    Private Sub textbox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        Select Case KeyAscii
        Case 48 To 57
            KeyAscii = KeyAscii
        Case Else
           KeyAscii = 0
        End Select
    End Sub
    
    Private Sub TextBox4_Change()
    
    End Sub
    

    A+
    Maurice
    1
    1. Merci beaucoup pour ce code. Je l'étudie demain.
      0
  2. Bonjour

    donne un modele de ton fichier ca serat plus simple pour te repondre

    A+
    Maurice
    0
    1. Bonjour a vous tous,

      Si pas case a cocher, vous faites une raz de la textbox qui a pour effet d'un appel recurcif de la procedure
       Private Sub TextBox_NOMBREPR100_Change()


      Je n'ai trouve que ce moyen pour empecher ca dans les divers fichers ou j'ai eu ce probleme:
      Dim Flag_Nok As Boolean
      
      Private Sub TextBox_NOMBREPR100_Change()
          If UserForm1.CheckBox1.Value = False And Not Flag_Nok Then
              Flag_Nok = True
              UserForm1.TextBox_NOMBREPR100.Value = ""
              MsgBox ("Impossible d'indiquer une quantité si la case contenant le type de palette n'est pas cochée.")
              Flag_Nok = False
          End If
      End Sub
      0
      1. Bonjour,

        Merci beaucoup pour la technique ! Elle marche absolument parfaitement.

        @cs_Le Pivert : Ne t'inquiète pas, je m'en sors plutôt pas mal. Les demandes que je fais n'ont rien à voir les unes avec les autres. Je suis désolé si ça ressemble à du SPAM, mais quand j'ai besoin d'aide, je demande. Pardon si cela paraît abusif..

        @Maurice : Je ne pense pas que partager le fichier sera d'une grande aide ici...

        Merci à vous tous.

        Cordialement.
        0