Sécurisation des "ComboBox" et "TextBox"

Résolu
steph575 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -  
steph575 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   160
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   160
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   160
 
Re,

Dans ce cas c'est une ComboBox qu'il te faut...
0
steph575 Messages postés 42 Date d'inscription   Statut Membre Dernière intervention  
 
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