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 compte désactivé - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
- Nombre de jours entre deux dates excel - 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+