Validation d'un formulaire qui s'affiche deux fois?
Résolu
bassmart
Messages postés
281
Date d'inscription
Statut
Membre
Dernière intervention
-
bassmart Messages postés 281 Date d'inscription Statut Membre Dernière intervention -
bassmart Messages postés 281 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai créer un fichier pour maintenir un inventaire, c'est tout simple!
J'entre les quantités reçues et utilisées à l'aide de 2 Userform et j'effectue une vérification avec quelques conditions qui mets en forme (couleur) les différentes cellules de ma colonne "quantité restante". Mes conditions sont sur la feuille "Inventaire" et les reste se fait à partir des Userform.
Tout fonctionne ok, mais il fait la vérification 2 fois, donc le message apparaît 2 fois pour les quantités à commander et à surveiller!
J'ai vérifier comment il fonctionnait en pas à pas. Il fait ça vérification sur la feuille, ensuite il va sur le Userform utilisé et ensuite, il revient pour faire une autre vérification sur la feuille.
J'ai placer toute mes conditions sur la feuille avec le code
J'ai besoin d'aide pour ce coup!
Voici mon fichier:
http://www.cjoint.com/c/EIDniDocJxo
J'ai créer un fichier pour maintenir un inventaire, c'est tout simple!
J'entre les quantités reçues et utilisées à l'aide de 2 Userform et j'effectue une vérification avec quelques conditions qui mets en forme (couleur) les différentes cellules de ma colonne "quantité restante". Mes conditions sont sur la feuille "Inventaire" et les reste se fait à partir des Userform.
Tout fonctionne ok, mais il fait la vérification 2 fois, donc le message apparaît 2 fois pour les quantités à commander et à surveiller!
J'ai vérifier comment il fonctionnait en pas à pas. Il fait ça vérification sur la feuille, ensuite il va sur le Userform utilisé et ensuite, il revient pour faire une autre vérification sur la feuille.
J'ai placer toute mes conditions sur la feuille avec le code
Private Sub Worksheet_Calculate(), j'ai essayer aussi avec
Private Sub Worksheet_Change()et ça n'a rien changé, toujours le même problème. J'ai aussi essayé avec
Private Sub Worksheet_Activate(), la ça fonctionne à moitié, je n'ai plus de message qui apparaît, mais la mise en forme est ok.
J'ai besoin d'aide pour ce coup!
Voici mon fichier:
http://www.cjoint.com/c/EIDniDocJxo
A voir également:
- Validation d'un formulaire qui s'affiche deux fois?
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Deux ecran pc - Guide
- Formulaire de reclamation instagram - Guide
- Comment faire deux colonnes sur word - Guide
3 réponses
Bonjour,
Moi ça marche.
En fait, j'ai supprimé la macro sur la feuille pour l'intégrer directement au UserForm :
Tu fais pareil sur l'autre et voilà, la vérif se fera uniquement lors de l'utilisation des UserForm.
Cordialement.
Moi ça marche.
En fait, j'ai supprimé la macro sur la feuille pour l'intégrer directement au UserForm :
Private Sub CommandButton1_Click() Dim cell As Variant Dim Msg As String, Msg2 As String Sheets("Inventaire").Unprotect If TextBox2 = IsNumeric(TextBox2) Then Range("B4") = Range("B4") + TextBox2.Value End If If TextBox3 = IsNumeric(TextBox3) Then Range("B5") = Range("B5") + TextBox3.Value End If If TextBox4 = IsNumeric(TextBox4) Then Range("B6") = Range("B6") + TextBox4.Value End If If TextBox5 = IsNumeric(TextBox5) Then Range("B7") = Range("B7") + TextBox5.Value End If If TextBox6 = IsNumeric(TextBox6) Then Range("B8") = Range("B8") + TextBox6.Value End If If TextBox7 = IsNumeric(TextBox7) Then Range("B9") = Range("B9") + TextBox7.Value End If If TextBox8 = IsNumeric(TextBox8) Then Range("B10") = Range("B10") + TextBox8.Value End If If TextBox9 = IsNumeric(TextBox9) Then Range("B11") = Range("B11") + TextBox9.Value End If If TextBox10 = IsNumeric(TextBox10) Then Range("b13") = Range("b13") + TextBox10.Value End If If TextBox11 = IsNumeric(TextBox11) Then Range("b15") = Range("b15") + TextBox11.Value End If If TextBox12 = IsNumeric(TextBox12) Then Range("b17") = Range("b17") + TextBox12.Value End If If ComboBox1 = "" Then MsgBox "Choisissez un nom dans la liste!" Else Unload Me End If Sheets("Inventaire").Unprotect Range("B22") = ComboBox1.Value Sheets("Inventaire").Protect Msg = "" Msg2 = "" Sheets("Inventaire").Unprotect For Each cell In Range("D4:D19") l = cell.Row If cell.Value = vide Or cell.Value >= 5 Then cell.Interior.ColorIndex = 2 ElseIf cell.Value = 1 Then cell.Interior.ColorIndex = 3 Msg = Msg & "À commander!" & Cells(l, 1).Value & Chr(10) ElseIf cell.Value > 2 And cell.Value < 5 Then cell.Interior.ColorIndex = 6 Msg2 = Msg2 & "Quantité basse, à surveiller!" & Cells(l, 1).Value & Chr(10) End If Next If Msg <> "" Then MsgBox Msg, vbCritical, "Attention!" End If If Msg2 <> "" Then MsgBox Msg2, vbExclamation, "Attention!" End If Sheets("Inventaire").Protect End Sub Private Sub CommandButton2_Click() Dim objControl As Control For Each objControl In Arrivage.Controls If TypeOf objControl Is msforms.TextBox Then objControl.Text = "" End If Next End Sub Private Sub UserForm_Initialize() With ComboBox1 .AddItem "Gilbert Grondin" .AddItem "Martin D'Anjou" .AddItem "Raphaël Vincent" End With End Sub
Tu fais pareil sur l'autre et voilà, la vérif se fera uniquement lors de l'utilisation des UserForm.
Cordialement.
Bonsoir,
J'ai pas compris pourquoi il y avait deux UserForms...
Je propose : https://www.cjoint.com/c/EIDsnW7L70X
en n'ayant du code qu'en module principal et dans le UserForm.
A+
J'ai pas compris pourquoi il y avait deux UserForms...
Je propose : https://www.cjoint.com/c/EIDsnW7L70X
en n'ayant du code qu'en module principal et dans le UserForm.
A+