Sécurisation des "ComboBox" et "TextBox"

Résolu
steph575 Messages postés 45 Statut Membre -  
steph575 Messages postés 45 Statut Membre -
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

  1. ThauTheme Messages postés 1564 Statut Membre 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
    1. steph575 Messages postés 45 Statut Membre
       
      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
  2. ThauTheme Messages postés 1564 Statut Membre 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
    1. steph575 Messages postés 45 Statut Membre
       
      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
    2. ThauTheme Messages postés 1564 Statut Membre 160
       
      Re,

      Dans ce cas c'est une ComboBox qu'il te faut...
      0
    3. steph575 Messages postés 45 Statut Membre
       
      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