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 :

Case à cocher qui sélectionne toutes valeurs d'une liste


Sujet :

VBA Access

  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 qui sélectionne toutes valeurs d'une liste
    Bonjour,

    Je vous écris parce que j'ai un problème dans l'écriture de mon code afin de permettre à ma case à cocher de sélectionner toutes les valeurs disponibles dans une zone de liste à sélection multiple. Voici le code que j'ai écrit afin de réussir cela et le code pour ma zone de liste qui me permet d'exécuter d'autres actions.
    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
     
    Private Sub Caseàcocher_Click()
     
        For i = 0 To Liste0.ListCount - 1
            Liste0.Selected(i) = True
        Next
     
    Liste0.Requery
    Liste2.Requery
     
    End Sub
     
    Private Sub Liste0_AfterUpdate()
     
    DoCmd.SetWarnings False
     
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Brasseur"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Segment"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_SousSegment"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Skue"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Zone"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Réseau"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Date"
     
     
        For i = 0 To Liste0.ListCount - 1
            If Liste0.Selected(i) Then
                DoCmd.RunSQL "INSERT INTO Tbl_Qry_Brasseur SELECT tbl_Prix.* FROM tbl_Prix WHERE (false) OR (tbl_Prix.Brasseur='" & Liste0.Column(0, i) & "');"
            End If
     
        Next i
     
    DoCmd.SetWarnings True
     
    Liste2.Requery
    Liste4.Requery
    Liste6.Requery
    Liste10.Requery
    Liste12.Requery
    Liste14.Requery
     
    End Sub
    Effectivement, lorsque je clique sur ma case à cocher, celle-ci sélectionne bien entendu toutes les valeurs de ma zone de liste0, mais lorsque celle-ci est sélectionné de cette manière, elle n'exécute pas son code. On dirait que je dois absolument sélectionner avec la souris les valeurs à l'intérieur. Connaissez-vous un moyen?

    Merci

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Pourquoi ne pas tout faire d'un seul coup?
    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
     
    Private Sub Caseàcocher_Click()
    DoCmd.SetWarnings False
     
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Brasseur"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Segment"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_SousSegment"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Skue"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Zone"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Réseau"
        DoCmd.RunSQL "DELETE * FROM Tbl_Qry_Date" 
     
        For i = 0 To Liste0.ListCount - 1
            Liste0.Selected(i) = True
            DoCmd.RunSQL "INSERT INTO Tbl_Qry_Brasseur SELECT tbl_Prix.* FROM tbl_Prix WHERE (false) OR (tbl_Prix.Brasseur='" & Liste0.Column(0, i) & "');"
     
        Next
     
    Liste0.Requery
     
    DoCmd.SetWarnings True
     
    Liste2.Requery
    Liste4.Requery
    Liste6.Requery
    Liste10.Requery
    Liste12.Requery
    Liste14.Requery
     
    End Sub

  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
    EUH............ *Un peu abasourdi devant son ordinateur pour la logique et la simplicité de la chose *.........Si je pouvais, je t'embrasserais lol

    Merci 1000 fois.

    Amicalement!

  4. #4
    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
    Par contre, y a-t-il un moyen pour que lorsque je désélectionne la case à cocher, ceci désélectionne tout et annule mon action?

Discussions similaires

  1. [WD17] Combo qui affiche les valeurs dans une liste
    Par ameura1 dans le forum WinDev
    Réponses: 7
    Dernier message: 02/09/2014, 10h11
  2. [HQL] sélectionner des valeurs depuis une liste de valeurs
    Par nouraty dans le forum Hibernate
    Réponses: 4
    Dernier message: 18/06/2012, 16h23
  3. [AC-2003] Case à cocher qui cochent toutes les autres
    Par lucas-18 dans le forum IHM
    Réponses: 4
    Dernier message: 27/10/2010, 09h44
  4. Case à cocher, sélectionne valeur d'une liste
    Par athos7776 dans le forum IHM
    Réponses: 7
    Dernier message: 20/07/2007, 15h01
  5. [VBA-E2003] case à cocher qui verouille une case
    Par Slumpy dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/04/2006, 00h16

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