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, sélectionne valeur d'une liste


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 70
    Points
    70
    Par défaut Case à cocher, sélectionne valeur d'une liste
    Bonjour, je tente de créer des cases à cocher qui, lorsque je clique dessus, sélectionnent une valeur précise dans une zone de liste. Par exemple, quand je clique sur la Case "Imprimante" je voudrais quelle sélectionne en même temps le mot "imprimante" qui apparaît dans la zone de liste. Voici ce que j'ai fait comme code, mais il ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CaseImprimante_Click()
     
    Select Case Liste0
      Case "Imprimante"
    End Select
     
    End Sub
    Merci d'avance!

  2. #2
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    tu peux utiliser un groupe d'options, qui te permet d'avoir une valeur numérique en fonction de la case cochée
    1 imprimante 2 écran 3 PDF

    et coté zone de liste tu peux également avoir une zone de liste à partir d'une table concue ainsi :
    1 imprimante
    2 écran
    3 PDF
    avec comme valeur de ta zone de liste le chiffre, et comme texte apparaissant à l'écran le nom correspondant

    Dès lors que tu modifies le choix de ton groupe d'options, tu peux mettre à jour en cascade, ta zone de liste.

    Mais je ne vois pas pourquoi tu veux cette redondance, en mettant à la fois des cases à cocher et une zone de liste
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  3. #3
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 70
    Points
    70
    Par défaut
    Tout d'abord, merci pour ta réponse.

    En effet, au tout début j'avais déjà pensé à cette alternative, mais mon projet demandait une meilleure polyvalence quant au tri des données. Je veux être en mesure de pouvoir sélectionner (pour une colonne en particulier de ma table) plusieurs valeurs à la fois. Exemple : Si j'ai 3 valeurs distinctes dans ma table dans la colonne Compagnie, je veux pouvoir en sélectionner 1, 2 ou 3 en même temps. Donc je dois avoir 3 cases à cocher indépendantes. Pour ce faire, j'ai cru moins compliqué me créer plusieurs zones de listes à sélection multiples (une pour chaque colonne de ma table).

    Ensuite, il ne me reste plus qu'à insérer une case à cocher qui représente une valeur d'une certaine liste. Donc, lorsque je clique à l'intérieur d'une case à cocher, je veux que celle-ci sélectionne une valeur dans ma zone de liste compagnie et que quand je la décoche, la valeur dans ma liste est déselectionnée.

    Finalement, pourquoi créer des cases à cocher qui sélectionnent des valeurs dans ma zone de liste à sélection multiples? Parce qu'il était moins compliqué au début de ne créer que des zones de liste à sélections multiple en cascade et ensuite faire du VBA avec des cases à cocher pour rendre mon formulaire plus esthétique.

  4. #4
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    je n'ai aucune expérience dans les listes à sélection multiple....

    En cherchant sur le forum j'ai vu que tu as deja envoyé plusieurs post sur les listes.

    Je pense qu'il faut sur la commande click de ta case à cocher écrire une boucle qui cherche les valeurs comprises dans ta liste
    et lorsque la valeur est imprimante mettre la propriété selected à True
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  5. #5
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 70
    Points
    70
    Par défaut
    En fait, c'est ça que j'essaye de faire, une boucle qui me dit "Si ta liste = True Alors, mets ta liste = False".

    En principe, mon code fonctionne très bien pour ce que je veux qu'il fasse, mais le problème est qu'il lance tout le code en même temps et je ne sais plus comment il faut faire pour qu'il le fasse étape par étape, c'est-à-dire "Quand je clique dans ma case à cocher, celle-ci fait telle action, mais quand je décoche ma case à cocher, celle-ci fait plutôt ça". Ceci est le code que j'ai écrit.
    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
    Private Sub CocherSous_Segments_Click()
     
    DoCmd.SetWarnings False
     
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_SousSegment"
     
        For I = 0 To Liste4.ListCount - 1
           Liste4.Selected(I) = True
            DoCmd.RunSQL "INSERT INTO Tbl_Qry_SousSegment SELECT tbl_Qry_Segment.* FROM tbl_Qry_Segment WHERE (false) OR (tbl_Qry_Segment.SousSegment='" & Liste4.Column(0, I) & "');"
     
        Next
     
        For Each I In Liste4.ItemsSelected
          If Liste4.Selected(I) = True Then
           Liste4.Selected(I) = False
           End If
     
        Next I
     
    DoCmd.SetWarnings True
     
    Liste6.Requery
    Merci pour vos conseils, ils sont très appréciés.

  6. #6
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 70
    Points
    70
    Par défaut
    Hehe!!!! Finalement, j'ai trouvé!! C'était effectivement une question de boucle, sauf que j'ai seulement utilisé For...Next et une Condition IF. J'ai finalement tout mis à l'intérieur et j'ai commencé par la négative (Si le tout = vrai, alors mets le Faux, Sinon...fait ceci et met le vrai) .

    Ça fait tellement pas longtemps que je joue dans le VBA que je n'ai pas confiance en moi encore en me disant (je ne serai pas capable puisque je ne suis pas programmeur).

    Merci encore DR FeelGood!!

  7. #7
    Membre averti Avatar de dr_feelgood
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Mars 2005
    Messages : 292
    Points : 373
    Points
    373
    Par défaut
    comme exercice, on devrait te demander de faire une contribution expliquant les différentes façons d'utiliser les zones de liste à valeurs multiples .....

    push on ....
    .
    less is more

    vous pouvez faire une recherche dans le forum
    et également une recherche dans les FAQ

  8. #8
    Membre régulier
    Inscrit en
    Juin 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2007
    Messages : 106
    Points : 70
    Points
    70
    Par défaut
    Bonne idée! Quand j'aurai un peu de temps j'en ferai une sur ce forum là! Merci beaucoup

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

Discussions similaires

  1. Masquer des cases à cocher en fonction d'une liste déroulante
    Par theclaw dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/12/2012, 17h30
  2. [AC-2002] Pourquoi ma case à cocher à la valeur -1 une fois cochée?
    Par Subkill dans le forum Access
    Réponses: 4
    Dernier message: 19/05/2009, 11h26
  3. Réponses: 1
    Dernier message: 04/03/2009, 01h46
  4. Récupérer valeurs d'une liste de cases à cocher
    Par jminguely dans le forum Langage
    Réponses: 3
    Dernier message: 10/10/2008, 22h10
  5. Case à cocher qui sélectionne toutes valeurs d'une liste
    Par athos7776 dans le forum VBA Access
    Réponses: 3
    Dernier message: 13/07/2007, 20h09

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