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 :

Vider des cases à cocher en vba if then else [AC-2016]


Sujet :

IHM

  1. #1
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut Vider des cases à cocher en vba if then else
    Bonjour le Forum
    Tout d'abord malgré la pandémie actuelle je vous souhaite une meilleur année que 2020.
    J'ai un souci, dans un formulaire issue d'une requête.
    Je voudrais vider deux cases à cocher présentes dans ce formulaire. Initialement elles sont cochées et je voudrais à l'ouverture de ce formulaire ou à l'aide d'un bouton macro vider ces cases de tous les jeux d'enregistrements présents à l'aide d'une boucle If Then Else qui s'arrête quand toutes les cases sont vides.
    Le formulaire s'appelle Jour_Present et les cases à cocher s'appelle Present et Doublets.
    En vous remerciant d'avance
    Cordialement

    PS: Est-il possible de faire un choix aléatoire de deux jeux d'enregistrement d'une table ou requête d'une liste de jeux d'enregistrements. Si oui j'ouvrirai un post.

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut CheckBox
    Essayez ceci:
    Faites appel à cette fonction à l'ouverture de votre formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function InitialiseCheckBoxes()
        Dim ctl As Control
     
        For Each ctl In Me.Controls
            On Error Resume Next
            If ctl.ControlType = acCheckBox Then ctl.Value = 0
        Next ctl
     End Function

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    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 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    Est-il possible de faire un choix aléatoire de deux jeux d'enregistrement d'une table ou requête d'une liste de jeux d'enregistrements. Si oui j'ouvrirai un post.
    si j'ai bien compris la demande, c'est possible de choisir aléatoirement des enregistrements avec la propriété de la requête "Premières valeurs" en sélectionnant un pourcentage (à moduler par rapport au nombre total d'enregistrements):

    Nom : _0.JPG
Affichages : 68
Taille : 288,8 Ko

    ou directement en SQL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT TOP 10 PERCENT FROM ...
    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 ?

  4. #4
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re
    Je vous remercie de vos réponses rapides.

    Pour Zekraoui_Jakani
    Aucune case ne se vide à l'ouverture du formulaire.
    Je me suis servi de Call et fonction placée Sur Ouverture.
    J'ai placé le Code InitialiseCheckBoxes () dans la partie de mon formulaire Form_Jour_Présences (nom de mon formulaire)
    Probablement code mal placé.

    Cordialement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Open(Cancel As Integer)
      Call InitialiseCheckBoxes
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Function InitialiseCheckBoxes()
        Dim ctl As Control
     
        For Each ctl In Me.Controls
            On Error Resume Next
            If ctl.ControlType = acCheckBox Then ctl.value = 0
        Next ctl
     End Function
    Pour Tee_Grandbois
    Je ne connais pas le nombre de jeux d'enregistrement qui évolue constamment. Je vais ouvrir post spécifique.

  5. #5
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Essayez ceci, espérant que la source du formulaire n'est pas verrouillée:
    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
    Private Sub Form_Open(Cancel As Integer)
      Call InitialiseCheckBoxes
      Me.Refresh
    End Sub
     
    Function InitialiseCheckBoxes()
        Dim rs As Recordset
     
        Set rs = Me.RecordsetClone
     
        With rs
            .MoveFirst
            Do While Not .EOF
                .Edit
                !CheckBox1 = 0  'CheckBox1 doit être remplacé par le nom que vous avez défini
                !CheckBox2 = 0  'CheckBox2 doit être remplacé par le nom que vous avez défini
                'Si 'CheckBoxj contient des espaces, mettez de [ ] autour.
                .Update
                .MoveNext
            Loop
        End With
        rs.Close: Set rs = Nothing
     
     End Function

  6. #6
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re
    Tu est un Chef, tout fonctionne à merveille en ce qui concerne le vidage des cases.
    J'ai constaté, lors que je coche certaines cases, dont la dernière du jeu d'enregistrement, ce jeu n'est pas pris en compte en tant qu'enregistrement.
    Si je supprime ce code, le dernier jeu d'enregistrement est pris en compte.
    Est-ce que tu vois de quoi cela peut provenir ?

    Encore merci
    Cordialement

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

Discussions similaires

  1. [XL-2010] Obliger à remplir des cases à cocher en vba
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 03/09/2015, 15h52
  2. Réponses: 3
    Dernier message: 29/04/2015, 14h44
  3. [VBA-E] vider des cases d'options
    Par marjaco dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/06/2006, 20h29
  4. [VBA-E] Probleme Macro pour gérer des cases à cocher
    Par bibiche2184 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/06/2006, 18h03

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