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

IHM Discussion :

Case à cocher et validation pour ouverture de formulaire


Sujet :

IHM

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut Case à cocher et validation pour ouverture de formulaire
    Bonsoir,j'ai une petite question j'ai bien evidement chercher un peu partout mais je n'arrive pas à trouver de solution, donc je vous sollicite.

    Premierement j'ai un formulaire contenant 2 cases à cocher et un bouton

    J'aimerai que lorsque je clique sur valide un formulaire s'ouvre en fonction des proprieté des cases à cocher. c'est à dire:
    case MARQUE cocher, on ouvre un formulaire A
    case CATEGORIE cocher, on ouvre un formulaire B
    case MARQUE ET CATEGORIE cocher on ouvre un formulaire C

    je vous remercie

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Tu peux essayer une procédure, sur évènement 'click' du bouton 'Valider' du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select case Me.Marque * (-2) - Me.Catégorie
        case 3
            Application.DoCmd.OpenForm "FormC"
        Case 2
            Aplication.DoCmd.OpenForm "FormA"
        Case 1
            Application;DoCmd.OpenForm "FormB"
    End select
    Si les cases à cocher ont pour nom Marque et Catégorie dans ton formulaire.

    Bon courage,

    PGZ

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 278
    Points : 107
    Points
    107
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select case Me.Marque * (-2) - Me.Catégorie
    pouvez vous me commenter cette ligne

  4. #4
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonjour,
    Citation Envoyé par lolothom
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select case Me.Marque * (-2) - Me.Catégorie
    pouvez vous me commenter cette ligne
    Il faut savoir que si une case est cochée alors elle prend la valeur -1 sinon c'est zéro (0).
    Donc si pgz a écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.Marque * (-2) - Me.Catégorie
    Il a supposé les cas suivants:
    1. Marque est cochée et Catégorie est décochée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me.Marque=-1
    Me.Catégorie=0
    (-1)*(-2)-(0)=2
    2. Marque est décochée et Catégorie est cochée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me.Marque=0
    Me.Catégorie=-1
    (0)*(-2)-(-1)=1
    2. Marque est cochée et Catégorie est cochée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me.Marque=-1
    Me.Catégorie=-1
    (-1)*(-2)-(-1)=3
    CQFD!
    Mais il peut y avoir plus simple en utilisant un groupe d'options car ainsi, la première option est 1, la suivante est 2 ... Le seul problème c'est comment obtenir deux choix car là seul un choix est possible ...
    Bon courage et @+

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Je vous remercie, le code est bien pensée, ça marche après correction de 2 fautes de frappes. Parfait
    Sinon pour réaliser cette application je pensai pouvoir le faire en macro, mais malheureusement je n'ai pas trouvé le paramétre donnant 0 ou 1 en fonction de cocher ou décocher. De plus je me rend compte que cela n'est pas 0 ou 1.

    Avez vous un cours quelque part qui vous dit comment savoir que c'est le param
    "Me" qui renvoit une valeur?

    En tout cas encore merci

  6. #6
    seb92400
    Invité(e)
    Par défaut
    Hi,

    [resolu] Case à cocher et validation pour ouverture de formulaire
    Tu peux utiliser le bouton résolu en bas du formulaire pour indiquer que tu as eu la solution, tu n'es pas obligé de modifier le titre...

    Pour des macros (de mémoire) une case à cocher est 'Oui' (pour coché) ou 'Non' (pour décoché)

    En vba, 0 = False et -1 = True (mais dans un sens général, tout ce qui n'est pas 0 est la plupart du temps égale à True)

    Avez vous un cours quelque part qui vous dit comment savoir que c'est le param "Me" qui renvoit une valeur?
    Je ne saisis pas trop le sens de ta question... 'Me' indique le formulaire auquel appartient le module. Exemple tu te trouves dans le module du formulaire nommé frmEssai (donc le module porte le nom de Form_frmEssai), si tu tapes Me.AllowsEdits = True dans une procédure, tu indiques que autorises les modifications pour le formulaire frmEssai.


  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    ok, je pensai que "Me" était un parametre permettant de selectionner le paramétre rechercher.

    Encore merci

  8. #8
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Bonsoir,
    Citation Envoyé par momowell
    ok, je pensai que "Me" était un parametre permettant de selectionner le paramétre rechercher.

    Encore merci
    Me désigne le formulaire ou l'état en cours. Ce n'est pas un paramètre.
    Si le formulaire en cours est Frm1, pour le désigner tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Forms("Frm1")
    ou
    Forms!Frm1
    ou
    Frm_Frm1 'si AvecModule=Oui
    ou
    Me 'si c'est le formulaire en cours
    Bon courage et @+

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Merci des renseignement, par contre à l'utilisation de ma base je me suis rendu compte d'un souci,
    Cela doit etre un probleme d'initialisation
    1er cas
    Quand je coche marque et catégorie puis valider j'ai bien une ouverture de formulaire. (le formulaire 3)
    Maintenant je referme le formulaire 3 puis decoche l'une des deux cases, je valide (le formulaire 1 ou 2 s'ouvre) vous me direz pas de souci !
    2nd cas
    Mais maintenant si lors de la premiere ouverture de mon formulaire je coche une case puis je valide, il ne se passe rien. Pour que le code soit valide, je dois obligatoirement passer par le premier cas

    merci

  10. #10
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Re,
    Est-ce que tu peux utiliser un Debug.Print sur la valeur des cases à cocher? Comme cela tu sais si les cases sont vraiment renseingées.
    C'est juste une idée ...
    Autre chose, essaie d'initialiser la valeur des cases à cocher par défaut en utilisant la valeur par défaut de ces contrôles. Mets les à 0. Sinon, lors de l'ouverture, affecte 0 aux case à cocher. Comme cela tu es sûr qu'au début les cases ont comme valeur zéro. Ensuite à toi de vérifier dans ton code en faisant une exécution pas-à-pas (F8) afin de le tracer.
    Bon courage et @+

  11. #11
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Je pense que tu dois être embêté par des valeurs Null. Tu peux adapter le code ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Select case Nz(Me.Marque,0) * (-2) - Nz(Me.Catégorie,0)
        case 3
            Application.DoCmd.OpenForm "FormC"
        Case 2
            Application.DoCmd.OpenForm "FormA"
        Case 1
            Application.DoCmd.OpenForm "FormB"
    End select
    Bon courage,

    PGZ

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14
    Points : 8
    Points
    8
    Par défaut
    Les modifications effectué sont parfaite, mes cases sont bien initialisées et cela fonctionne, merci de votre aide!

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/04/2015, 14h44
  2. Adaptation de code pour ouverture de formulaire
    Par Homer091 dans le forum IHM
    Réponses: 4
    Dernier message: 25/04/2008, 12h08
  3. Filtre pour ouverture de Formulaire
    Par jackyhilary dans le forum IHM
    Réponses: 2
    Dernier message: 05/02/2008, 18h52
  4. Critère pour ouverture de formulaire
    Par LeBauw dans le forum Access
    Réponses: 12
    Dernier message: 19/09/2005, 12h14
  5. [excel vba]case à cocher dans excel pour plusieurs lignes
    Par fcoisb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/03/2005, 11h23

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