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

VBA Access Discussion :

Cocher/Décocher case dans un formulaire selon contenu d'un champ [AC-2016]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Cocher/Décocher case dans un formulaire selon contenu d'un champ
    Bonjour à tous,


    Problème tout simple qui me fait péter un plomb, je vous remercie de votre aide :

    J'ai trois cases à cocher qui sont dans Formulaire1 :

    Case1
    Case2
    Case3


    J'ai un champ qui s'appelle "champ1" de type texte court

    J'ai un bouton click qui s'appelle "bouton1"

    Je veux que quand je clique sur "bouton1" le programme va lire la valeur enregistrée dans "champ1" et selon le contenu de ce champ il coche ou décoche les cases :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Private Sub bouton1_Click()
     
    If champ1.Value = "100" Then
     
        case1 = False
        case2= False
        case3 = True
     
    ElseIf champ1.Value = "10" Then
     
        case1 = False
        case2 = True
        case3 = False
     
    ElseIf champ1.Value = "1" Then
     
        case1 = True
        case2 = False
        case3 = False
     
    ElseIf champ1.Value = "110" Then
     
        case1 = False
        case2 = True
        case3 = True
     
    ElseIf champ1.Value = "101" Then
     
        case1 = True
        case2 = False
        case3 = True
     
    ElseIf champ1.Value = "11" Then
     
        case1 = True
        case2 = True
        case3 = True
     
    ElseIf champ1.Value = "111" Then
     
        case1 = True
        case2= True
        case3 = True
     
    End If
    End Sub

    J'ai essayé de jouer sur les différentes syntaxes qui me sont venues en tete mais ça ne marche pas.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    Bonjour.

    Qu'Est-ce qui ne marche pas ?

    1. Tu n'as pas de résultat ?
    2. Tu n'as pas le résultat attendu ? Qu'attendais-tu ? Qu'as-tu eu ?
    3. As-tu une erreur ? Laquelle ? Sur quelle ligne ?


    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Je n'ai aucun message d'erreur, c'est juste qu'il ne se passe rien au niveau des cases à cocher lorsque je clique sur le bouton.

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 323
    Points : 23 758
    Points
    23 758
    Par défaut
    OK, as-tu vérifié que le code s'exécutait bien ?

    Pour faire cela, va dans ton code avec l'éditeur et clique dans la marge à gauche de la 1ère ligne.
    Cela va mettre un gros point marron (c'est ce qu'on appelle un point d'arrêt).
    Puis tu sauvegardes.
    Quand tu vas appuyer sur ton bouton, et que ton code est bien exécuté, Access va s'arrêter sur la ligne avec le point.
    Tu vas pouvoir suivre ce que fait Access en appuyant sur la touche [F8] pour passer d'une instruction à l'autre.
    Cela devrait te donner une piste. Par exemple, il est possible qu'aucune des conditions ne soit vraie,

    En passant pour des tests comme les tiens je te suggère d'utiliser Select Case ... Case ... End Select qui rend le code un peu plus léger.

    Ça ressemble à cela :

    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
    select case champ1
        case "100" 
            me.case1 = False
            me.case2= False
            me.case3 = True
     
        case "10"
            me.case1 = False
            me.case2 = True
            me.case3 = False
     
        'ici les autres cas
     
        case else
            call err.raise(5,,Error$(5) & " - Aucunes des valeurs de Champs1 prévues." 
    end select
    me. représente le formulaire en cours.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 621
    Points : 14 577
    Points
    14 577
    Par défaut
    bonjour,
    je viens de tester ton code avec des champs indépendants et il fonctionne très bien. Il y a donc autre chose...
    Est-ce que tes cases sont des champs basés (appartenant à une table) ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Apres de multiples tentatives je me suis rendu compte que le problème n’était pas dans mon code mais dans le fait que j'associais l’exécution du code à un événement auquel une autre macro était associée. Le code ne s’exécutait donc pas.

    J'ai quand même modifié le code avec un Select Case comme l'a suggéré marot_r, c'est plus propre.

    Sujet résolu.

    Merci pour vos réponses !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/04/2015, 16h36
  2. Réponses: 3
    Dernier message: 10/01/2008, 23h09
  3. recuperer la couleur d'une case dans un formulaire
    Par salsero1 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 04/05/2007, 22h18
  4. selection d'une case dans un formulaire
    Par salsero1 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 02/05/2007, 18h39
  5. Impossible de cocher une case dans une table
    Par Cazaux-Moutou-Philippe dans le forum WinDev
    Réponses: 8
    Dernier message: 26/11/2006, 14h56

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