MsgBox dans UserForm.TextBox

Résolu
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -  
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -
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. Maurice
     
    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. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      Merci beaucoup pour ce code. Je l'étudie demain.
      0
  2. Maurice
     
    Bonjour

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

    A+
    Maurice
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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. Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   65
       
      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