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

Windows Forms Discussion :

Controls Checkbox en série


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 50
    Points
    50
    Par défaut Controls Checkbox en série
    Bonjour,
    J'ai dans un Form plusieurs cases à cocher nommées chkM1, chkM2, chkM3, etc ...
    je souhaite après avoir coché le chkM1 qu'il me coche les douz cases à cocher suivantes.
    Voici le code utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim i As Integer
            If chkM1.Checked = True Then
                For i = 2 To 12
                    Me.Controls("ChkM" & i).checked = True
                Next
            End If
    il n'accepte pas le code dans la boucle.

    Merci pour votre aide

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Comme ceci (je ne code pas en vb.net) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     DirectCast(Me.Controls("ChkM" & i),CheckBox).Checked = True
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta réponse mais il me met l'erreur suivante :
    "Variable objet ou variable d'un bloc with non définie"

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2015
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    Yep!

    Avec un peu de recherche tu aurais trouvé cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Private Sub cocher()
            For Each ctrl As Control In Me.Controls
                If TypeOf ctrl Is CheckBox Then
                    Dim c As CheckBox = CType(ctrl, CheckBox)
                    c.Checked = True
                End If
            Next
        End Sub
    Ici : http://www.developpez.net/forums/d56...xes-vb-cocher/

    Testé & approuvé ;-)

    Bon W-e !

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta réponse.
    Je vais essayer ce soir d'adapter ton code avec ma variable i pour le nom du checkbox.
    J'ai peur que la boucle "For Each ctrl As Control In Me.Controls" prenne du temps car j'ai un formulaire important avec de nombreux controls sur plusieurs onglets.
    A moins qu'il y ait un moyen de restreindre à un seul onglet du formulaire, mais là je ne sais pas faire.
    Je pense qu'Il serait judicieux d'utiliser Controls("Nom" & i). Je vais encore chercher.

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    J'ai peur que la boucle "For Each ctrl As Control In Me.Controls" prenne du temps car j'ai un formulaire important avec de nombreux controls sur plusieurs onglets.
    Pas de souci de performance à moins qu'il y ait des millers de contrôles.

    Si les CheckBox sont dans un même container (TabPage, Panel, ...) il faudra remplacer "Me" par le container ("panel1" par exemple).

    Si les checkbox sont des containers differents, il faudrait écrire une fonction récursive avec comme paramêtres d'entrées un control ("Me" au départ) et le nom du contrôle recherché ("ChkM" & i au départ) et renvoyant le contrôle recherché.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta réponse.
    J'ai réussi à faire la boucle sur un container précis pour gagner du temps.
    Mais à la ligne "If TypeOf ctrl Is CheckBox Then" il passe outre alors que c'est bien un checkbox.
    je ne comprends pas.

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2009
    Messages : 77
    Points : 50
    Points
    50
    Par défaut
    En fait j'avais écrit la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports Microsoft.Office.Interop.Excel
    En la supprimant tout marche.
    Super.
    Merci beaucoup pour ton aide

  9. #9
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par geredonis Voir le message
    En fait j'avais écrit la ligne suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Imports Microsoft.Office.Interop.Excel
    En la supprimant tout marche.
    Super.
    Merci beaucoup pour ton aide
    Donc, pour une raison que j'ignore, ton programme a cru que tu utilisais VBA pour Excel.

    Pour ceux que cela pourrait intéresser, les UserForms et les contrôles intégrés d'Office sont dans le fichier frm20.dl
    Ce fichier n'est pas un assembly .net mais un composant COM, même s'il peut être disponible dans vos références.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

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

Discussions similaires

  1. Controle checkbox dynamique
    Par Nemesis007 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/12/2009, 16h49
  2. [ASP.NET] Control CheckBox + Javascript
    Par dinbougre dans le forum ASP.NET
    Réponses: 4
    Dernier message: 14/04/2008, 17h14
  3. Controller CheckBoxes ayant le même nom.
    Par JFKen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/08/2006, 10h19
  4. controler checkBox à partir d'un autre classeur
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/07/2006, 09h26
  5. controle checkbox
    Par lafouine1986 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 13/11/2005, 14h52

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