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

VB 6 et antérieur Discussion :

Obliger l'utilisateur à choisir juste trois


Sujet :

VB 6 et antérieur

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Obliger l'utilisateur à choisir juste trois
    Nom : vb.PNG
Affichages : 125
Taille : 4,9 Ko

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 105
    Points : 16 627
    Points
    16 627
    Par défaut
    Salut
    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
    Option Explicit
     
    Private Function VerifNbr() As Boolean
    Dim T As Integer, U As Integer
    For T = 0 To CheckJours.Count - 1
        If CheckJours(T).Value = 1 Then U = U + 1
    Next T
    If U = 3 Then VerifNbr = True
    End Function
     
    Private Sub Command1_Click()
    If VerifNbr Then
        MsgBox "juste trois"
        Else
        MsgBox "choisissez exactement trois"
    End If
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par ProgElecT Voir le message
    Salut
    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
    Option Explicit
     
    Private Function VerifNbr() As Boolean
    Dim T As Integer, U As Integer
    For T = 0 To CheckJours.Count - 1
        If CheckJours(T).Value = 1 Then U = U + 1
    Next T
    If U = 3 Then VerifNbr = True
    End Function
     
    Private Sub Command1_Click()
    If VerifNbr Then
        MsgBox "juste trois"
        Else
        MsgBox "choisissez exactement trois"
    End If
    End Sub
    J'ai utilisé ce code mais au niveau de la compilation ça signale ceci:
    Erreur d'exécution: un objet est requis

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 417
    Points : 5 816
    Points
    5 816
    Par défaut
    J'ai utilisé ce code mais au niveau de la compilation ça signale ceci:
    Erreur d'exécution: un objet est requis
    Tu veux dire au niveau de l'exécution et pas au niveau de la compilation, parce qu'à la compilation l'erreur serait : Erreur de compilation : Procédure Sub ou Function non définie en pointant sur CheckJours.
    Ceci est certes dû au code proposé par ProgElecT(Salut) qui n'a pas été modifié pour l'adapter à ton projet.

    CheckJours (de 0 à 6) est un groupe de contrôles CheckBox dont l'indice du premier est 0(zéro). Il faut modifier le code en conséquence.

  5. #5
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 105
    Points : 16 627
    Points
    16 627
    Par défaut
    Salut
    l_autodidacte
    Citation Envoyé par l_autodidacte
    ceci est certes dû au code proposé par ProgElecT(Salut) qui n'a pas été modifié pour l'adapter à ton projet.

    Quand on met juste une image sans un debut de code......

  6. #6
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 417
    Points : 5 816
    Points
    5 816
    Par défaut
    Tout juste, les boules de cristal se font rares de nos jours

    Une suggestion même si condems ne fait pas encore signe de vie : je remplacerais Command1_Click par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CheckJours_Click(Index As Integer)
        Dim iCount%
       For I = 0 To CheckJours.Count - 1
        If CheckJours(I).Value = vbChecked Then
           iCount = iCount + 1
           If iCount > 3 Then
               CheckJours(Index).Value = vbUnchecked
               MsgBox "On ne peux choisir que trois au plus"
           End If
        End If
       Next I
    End Sub
    Ainsi, on n'a plus besoin d'appuyer sur ce bouton, le résultat est imminent pendant la coche des CheckBox.
    Et pour le libellé de chaque case à cocher, je mettrais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Form_Load()
      Dim I%
      For I = 0 To CheckJours.Count - 1
        CheckJours(I).Caption = WeekdayName(I + 1, True)
      Next I
    End Sub

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bonjour!
    l_autodidacte, vous me disiez de remplacer Command_Click() par le code que vous m'avez proposé, ce code sera-t-il saisi dans l'éditeur de form1 ? Et vous me parlez aussi des libellés de chaque case ? Merci

  8. #8
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 417
    Points : 5 816
    Points
    5 816
    Par défaut
    Voici un exemple :
    Fichiers attachés Fichiers attachés

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Code
    Toujours ça ne marche pas
    Avec cet exemple ci-dessous on ne peux que cocher trois.
    Mais plus de 600 lignes
    je ne suis tellement pas sûre de ça, mais SVP jeter un œil la dessus
    Merci

    Exemple
    Vb6.0-TroisJours.rar

  10. #10
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 417
    Points : 5 816
    Points
    5 816
    Par défaut
    Toujours ça ne marche pas
    et pour cause : tous les CheckBox doivent avoir la même propriété Name (ici CheckJours)puis indexés de 0 à 6. J'ai fait les modifications et je te renvoie Form2
    Fichiers attachés Fichiers attachés

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Oui oui ça marche well well
    Merci

  12. #12
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 417
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 417
    Points : 5 816
    Points
    5 816
    Par défaut
    Encore un petit Up pour Form2 : Le bouton Valider n'a plus raison d'être(on doit le supprimer).

    L'utilisation d'un groupe de contrôles t'épargne la saisie d'une quantité importante de code.
    Par exemple dans Form1, il y a 667 lignes(ce qui représenterait un programme complet) qui peuvent être réduites à 40(avec les sauts de lignes) comme dans Form2 ci-joint.

    Le bouton Annuler (Command2) n'est actif que si au moins une case est cochée.
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/08/2007, 12h01
  2. Réponses: 29
    Dernier message: 06/03/2007, 15h24
  3. Réponses: 12
    Dernier message: 13/02/2006, 05h07
  4. Que choisir juste pour une BDD ?
    Par wolfjeremy dans le forum Hébergement
    Réponses: 11
    Dernier message: 04/02/2006, 13h57
  5. Réponses: 23
    Dernier message: 05/09/2005, 17h23

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