IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Instaurer contrôle de saisie et tant que la saisie n'est pas complète, ne pas passer à l'userform suivant


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 1
    Par défaut Instaurer contrôle de saisie et tant que la saisie n'est pas complète, ne pas passer à l'userform suivant
    Bonjour tout le monde,
    je suis en train de créer un formulaire, mais je rencontre un problème que je n'arrive pas à résoudre. (Je débute seulement en VBA)
    J'aimerai créer un contrôle de saisie, il y a plusieurs textbox à remplir et j'aimerai les rendre obligatoire avant de pouvoir passer sur l'userform suivant grâce au commandbutton1.

    Pour l'instant j'ai instauré ce code qui ne marche évidemment pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub CommandButton1_Click()
    If UserForm8.TextBox13.Text = "" Then
    MsgBox "Vous n'avez rien saisi;"
    ElseIf UserForm8.TextBox10.Text = "" Then
    MsgBox "Vous n'avez rien saisi;"
    ElseIf UserForm8.TextBox12.Text = "" Then
    MsgBox "Vous n'avez rien saisi;" 
    ElseIf UserForm8.TextBox11.Text = "" Then
    MsgBox "Vous n'avez rien saisi;" 
    ElseIf UserForm8.TextBox14.Text = "" Then
    MsgBox "Vous n'avez rien saisi;" 
    ElseIf UserForm8.TextBox15.Text = "" Then
    MsgBox "Vous n'avez rien saisi;"
    End If
     
    If UserForm8.TextBox13.Value = True And UserForm8.TextBox14.Value = True And UserForm8.TextBox15.Value = True And UserForm8.TextBox10.Value = True And UserForm8.TextBox11.Value = True And UserForm8.TextBox12.Value = True Then
    Unload Me
    UserForm7.Show
    End If
    End Sub
    Merci d'avance pour l'aide que vous sauriez m'apporter. :-)

  2. #2
    Membre éclairé Avatar de DenisHen
    Homme Profil pro
    Dessinateur / projeteur
    Inscrit en
    Novembre 2013
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Dessinateur / projeteur
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 415
    Par défaut
    Bonjour,

    Je pense qu'il faudrait choisir entre "TextBox13.Text" et "TextBox13.Value", non ?

    Ou alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
    If TextBox13.Text = "" Then MsgBox "Vous n'avez rien saisi dans le textBox13":Exit Sub
    If TextBox10.Text = "" Then MsgBox "Vous n'avez rien saisi dans le textBox10":Exit Sub
    ....
    ....

  3. #3
    Membre éprouvé Avatar de Neutthsch
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2016
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2016
    Messages : 105
    Par défaut
    Salut Annecc,

    Utilise des balises de code dans tes messages, Si la charte le stipule ce n'est pas pour faire joli... enfin si aussi mais pas que!

    http://club.developpez.com/regles/

    Et remoi,

    Dans un cas où tes numéros de TextBox se suivent comme ça, je te conseille l'incrément. Ici TexNum représente mes numéros de textbox.

    et je lui demande qu'il vérifie pour chaque "TextBox" si elle est vide. Si il en trouve une, il envoie une msgbox et quitte la macro (en rendant ainsi la main à l'opérateur).
    Si aucun vide trouvé il quitte l'userform.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
    For TexNum = 10 To 15
        If Me.Controls("TextBox" & TexNum) = "" Then
            MsgBox "Une zone de texte est vide"
            Exit Sub
        End If
    Next
    Unload Me
     
     
    End Sub
    Bon c'est du tout mâché, si il y a le moindre truc que tu comprends pas, demande

  4. #4
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, de toute façon à lire : Obliger une saisie numérique dans une TextBox, adaptable à d'autre cas de figures.

Discussions similaires

  1. Empêcher la tabulation tant que la TextBox n'est pas saisie
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/07/2010, 22h14
  2. Réponses: 2
    Dernier message: 17/06/2009, 23h42
  3. vba tant que cellule active n'est pas ma cellule
    Par elise1983 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/09/2008, 22h34
  4. Réponses: 2
    Dernier message: 01/04/2008, 13h22
  5. Réponses: 2
    Dernier message: 01/11/2006, 22h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo