Sécurisation des "ComboBox" et "TextBox"

Résolu/Fermé
steph575 Messages postés 42 Date d'inscription vendredi 23 juin 2017 Statut Membre Dernière intervention 23 janvier 2019 - 17 janv. 2019 à 08:15
steph575 Messages postés 42 Date d'inscription vendredi 23 juin 2017 Statut Membre Dernière intervention 23 janvier 2019 - 17 janv. 2019 à 11:24
Bonjour.

Je voudrais sécuriser ma base de données, pourriez-vous me dire si :

- Est-il possible (et si oui comment) de bloqué un "ComboBox" à la liste déroulante ? car dans ma base de
données, les miens ne le sont pas et je peux entrer le texte que je veux.
- Est-il possible (et si oui comment) de rendre un "TextBox" comme champ obligatoire et de mettre au
moment de la sauvegarde un message d'erreur si ce champ n'est pas rempli ? (TextBox "CPV"). En effet
dans ma base de donnée, si je saute un champ, cela ne m'empêche pas de valider mon formulaire.

Merci pour votre aide.

https://mon-partage.fr/f/uEnNFcNM/

2 réponses

ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
17 janv. 2019 à 09:07
Bonjour Steph, bonjour le forum,

Nom des contrôles à adapter à ton cas...
Pour la ComboBox essaie comme ça :
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
With Me.ComboBox1
    If .ListIndex = -1 Then
        MsgBox "Cette Donnée n'est pas valable ! Veuillez choisir un élément de la liste."
        .SelStart = 0
        .SelLength = Len(.Value)
        Cancel = True
    End If
End With
End Sub


Pour la TextBox obligatoire, ça se fait sur le bouton qui enregistre les données en début de code :
Private Sub CommandButton1_Click()
If Me.TextBox1.Value = "" Then
    MsgBox "Vous devez remplir ce champ !"
    TextBox1.SetFocus
    Exit Sub
End If
End Sub

0
steph575 Messages postés 42 Date d'inscription vendredi 23 juin 2017 Statut Membre Dernière intervention 23 janvier 2019
Modifié le 17 janv. 2019 à 10:22
Je te remercie cela marche à merveille.

Concernant les "ComboBox", si je rentre une donnée qui n'est pas une liste, le message s'affiche, mais cela ne m'empêche pas de valider mon formulaire. J'aimerai bloqué ce dernier afin d'être sûr que les données entrées sont exactes.


Encore merci de ton aide.
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
17 janv. 2019 à 10:17
Re,

Normalement tu ne peux pas sortir de la Combobox tant que tu n'as pas choisi un élément de sa liste. Mais si tu veux verrouiller tu fais comme pour la TextBox en adaptant...
Private Sub CommandButton1_Click()
If Me.TextBox1.Value = "" Then
    MsgBox "Vous devez remplir ce champ !"
    TextBox1.SetFocus
    Exit Sub
End If
If Me.ComboBox1.Value = "" Then
    MsgBox "Vous devez remplir ce champ !"
    ComboBox1.SetFocus
    Exit Sub
End If
If Me.ComboBox1.ListIndex = -1 Then
    MsgBox "Cette Donnée n'est pas valable ! Veuillez choisir un élément de la liste."
    ComboBox1.SetFocus
    Exit Sub
End If
'... la suite de ton code
End Sub

0
steph575 Messages postés 42 Date d'inscription vendredi 23 juin 2017 Statut Membre Dernière intervention 23 janvier 2019
17 janv. 2019 à 10:45
Super ! J'ai une dernière question, et pas des plus facile à expliquer...
Sur mon formulaire, j'ai un "TextBox" qui s'appelle NUMCPV.

Je doit rentrer une référence exacte, car dans mon récap j'ai à partir de cette référence des formules qui permettent d'aller rechercher automatiquement dans un autre onglet des infos pour compléter mon récap.

Si dans mon NUMCPV, je fais une erreur, celle-ci se répercute automatiquement dans mon récap, ce qui m'empêche de revenir corriger mon formulaire.
serait-il possible, qu'au moment de valider mon formulaire, celui vérifie que le NUMCPV entré existe dans la liste.

Je ne sais pas si je me fais bien comprendre.
0
ThauTheme Messages postés 1442 Date d'inscription mardi 21 octobre 2014 Statut Membre Dernière intervention 29 juillet 2022 160
17 janv. 2019 à 10:58
Re,

Dans ce cas c'est une ComboBox qu'il te faut...
0
steph575 Messages postés 42 Date d'inscription vendredi 23 juin 2017 Statut Membre Dernière intervention 23 janvier 2019
17 janv. 2019 à 11:24
Tu as raison, je vais remplacer mon TextBox par un ComboBox, comme ça je suis sur de la saisie.
Encore merci pour tous tes bons conseils et ton aide.
0