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

Macros et VBA Excel Discussion :

Problème Macro, checkbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2019
    Messages : 6
    Par défaut Problème Macro, checkbox
    Bonjour,

    Je rencontre actuellement un problème sur l'élaboration d'un nouveau classeur comportant des macros.
    Je voudrais faire un système de check-box qui identifie une valeur de donnée dans la première colonne est qui après affiche ou non la valeur suivant que la case oui est coché ou la case non. J'ai codé de cette façon ci dessous, le problème est que les lignes du tableaux veulent parfois se cacher mais ne jamais s'afficher, je débute en VBA.

    Merci à tous d'avance pour vos conseils.

    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
    Private Sub CheckBox5_Click() 
    'CheckBox Oui Surmoulage
    'Label1 = Surmoulage
    Application.DisplayAlerts = False
    If CheckBox5.Value = True Then
    CheckBox6.Value = False
    End If
    'recherche et suppression de la ligne valeur ""
    i = 1
    While Sheets("Liste process Impactés").Cells(i, 1) = "Surmoulage"
                Sheets("Liste process Impactés").Rows(i & ":" & i).Hidden = False
            i = i + 1
     
     
    Wend
    End Sub
     
    Private Sub CheckBox6_Click()
    'non Surmoulage
    Application.DisplayAlerts = False
    If CheckBox6.Value = True Then
    CheckBox5.Value = False
     
    End If
    i = 1
    While Sheets("Liste process Impactés").Cells(i, 1) = "Surmoulage"
                Sheets("Liste process Impactés").Rows(i & ":" & i).Hidden = True
            i = i + 1
     
    Wend
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 436
    Par défaut
    Bonjour

    Dans ces 2 macros, la boucle While s'arrête dès qu'il n'y a plus le mot "Surmoulage" dans une cellule de la colonne 1. Toutes le lignes ne sont donc pas analysées.

    Cordialement.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2019
    Messages : 6
    Par défaut
    Que faut t'il donc faire pour que la fonction analyse l'onglet en entier même lorsque plusieurs cellules de la colonne comporte "Surmoulage" ?

  4. #4
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 436
    Par défaut
    Bonjour,

    Je suppose que ce que vous voulez faire est de parcourir toute la colonne A jusqu'à tomber sur une cellule vide.
    Dans ce cas, c'est ceci qu'il faut faire:
    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
    Option Explicit
     
    Private Sub CheckBox5_Click()
        'CheckBox Oui Surmoulage
        'Label1 = Surmoulage
        Application.DisplayAlerts = False
        If CheckBox5.Value = True Then
            CheckBox6.Value = False
        End If
        'recherche et masque ligne marquée surmoulage
        i = 1
        With Sheets("Liste process Impactés")
            While .Cells(i, 1) <> ""  '--- tant que non vide
                If .Cells(i, 1) = "Surmoulage" Then
                    .Rows(i).Hidden = False
                End If
                i = i + 1
            Wend
        End With
    End Sub
     
    Private Sub CheckBox6_Click()
        'non Surmoulage
        Application.DisplayAlerts = False
        If CheckBox6.Value = True Then
            CheckBox5.Value = False
        End If
        'recherche et affiche ligne marquée surmoulage
        i = 1
        With Sheets("Liste process Impactés")
            While .Cells(i, 1) <> ""  '--- tant que non vide
                If .Cells(i, 1) = "Surmoulage" Then
                    .Rows(i).Hidden = True
                End If
                i = i + 1
            Wend
        End With
    End Sub
    Cordialement.

  5. #5
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    EricDgn bonsoir

    pour tes checkboxs tu n'a pas besoins de les modifier par vba il suffit de les grouper comme les optionbuttons
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    EricDgn bonsoir

    pour tes checkboxs tu n'a pas besoins de les modifier par vba il suffit de les grouper comme les optionbuttons
    Bonjour,

    tu pourrais être plus explicite, car il me semble que tu dis n'importe quoi, comment peux-tu 'les grouper comme les optionbuttons' ?


    Le regroupement ne fonctionne que pour les options buttons.
    https://docs.microsoft.com/fr-fr/off...pname-property

    A trop vouloir en faire, on fait mal...
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2019
    Messages : 6
    Par défaut
    Citation Envoyé par EricDgn Voir le message
    Bonjour,

    Je suppose que ce que vous voulez faire est de parcourir toute la colonne A jusqu'à tomber sur une cellule vide.
    Dans ce cas, c'est ceci qu'il faut faire:
    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
    Option Explicit
     
    Private Sub CheckBox5_Click()
        'CheckBox Oui Surmoulage
        'Label1 = Surmoulage
        Application.DisplayAlerts = False
        If CheckBox5.Value = True Then
            CheckBox6.Value = False
        End If
        'recherche et masque ligne marquée surmoulage
        i = 1
        With Sheets("Liste process Impactés")
            While .Cells(i, 1) <> ""  '--- tant que non vide
                If .Cells(i, 1) = "Surmoulage" Then
                    .Rows(i).Hidden = False
                End If
                i = i + 1
            Wend
        End With
    End Sub
     
    Private Sub CheckBox6_Click()
        'non Surmoulage
        Application.DisplayAlerts = False
        If CheckBox6.Value = True Then
            CheckBox5.Value = False
        End If
        'recherche et affiche ligne marquée surmoulage
        i = 1
        With Sheets("Liste process Impactés")
            While .Cells(i, 1) <> ""  '--- tant que non vide
                If .Cells(i, 1) = "Surmoulage" Then
                    .Rows(i).Hidden = True
                End If
                i = i + 1
            Wend
        End With
    End Sub
    Cordialement.
    Bonsoir, j'ai remplacé votre code dans le miens et lorsque j'active une des deux checkbox la oui ou la non alors rien ne passe.

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir

    déjà il faut savoir que quand tu change la valeur d'un checkbox par vba tu déclenche son évènement

    j'ai pris pour habitude (TOUJOURS) de mettre le code de l'evenement du checkbox dans une condition if activecontrol.name=ton checkbox then ...

    comme ca il n'y a pas d'ambiguïté

    parti de la !!!
    comme tu change la valeur de l'un par le click de l'autre et vise et versa
    comme le visible doit etre egal au checkbox5.value
    je te propose ceci

    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
    Private Sub CheckBox5_Click()
       MsgBox ActiveControl.Name
        mescheckboxs_Click CheckBox5
    End Sub
    '
    '
    Private Sub CheckBox6_Click()
       MsgBox ActiveControl.Name
       mescheckboxs_Click CheckBox6
    End Sub
    '
    '
    Private Sub mescheckboxs_Click(check)
        If check.Name = "CheckBox5" Then x = 5: CheckBox6.Value = Not CheckBox5.Value Else CheckBox5 = Not CheckBox6.Value: x = 6
        With Sheets("Liste process Impactés")
        .Cells.EntireRow.Hidden = False
          With Sheets("Liste process Impactés").Range("A1", Cells(Rows.Count, "A").End(xlUp))
             For Each cel In .Cells
                If ActiveControl.Name = check.Name Then 'tres important ca !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                    If cel.Value = "Surmoulage" Then cel.EntireRow.Hidden = Not CheckBox5.Value
                End If
            Next
        End With
    End With
    End Sub
    j'ai mis des msgbox dans les deux évènements que tu pourra supprimer
    c'est juste pour te montrer que quand tu clique sur l'un tu clique sur l'autre tout de suite après
    voila la raison pour la quelle ca ne fonctionnait pas

    j'avais un doute aussi avec ton xldown j'ai utilisé xlup pour déterminer la plage utilisé
    démonstration
    Nom : demo2.gif
Affichages : 892
Taille : 191,7 Ko

    quand tu fait une bascule avec deux controls identiques(checkbox,optionbutton) n'oublie jamais la condition sur activecontrol
    sinon bien évidement tu fait et redéfait aussi tôt


    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Comme le dit Hop hop hop, il serait bien plus judicieux d'utiliser des optionbutton que de monter du code pour réaliser la même chose avec des checkbox qui "basculent" Sur un plan ergonomique, c'est un non-sens d'utiliser des checkbox en lieu et place d'optionbutton.


    Citation Envoyé par patricktoulon Voir le message
    EricDgn bonsoir

    pour tes checkboxs tu n'a pas besoins de les modifier par vba il suffit de les grouper comme les optionbuttons
    Sauf astuce que je ne connais pas, je ne vois pas en quoi grouper les chekbox les amène à se comporter comme des optionbutton groupés. La propriété Groupe est inopérante pour les checkbox. Les mettre dans un frame ne change rien à l'affaire. Que veux-tu dire par grouper? As-tu testé ce que tu proposes?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Et dire que cela se réalise nativement en utilisant les bons contrôles sans aucune ligne de code, à savoir des Optionbutton groupés

    Dans l'exemple ci-dessous, les Options de la première colonne sont dans le groupe G1, ceux de la seconde colonne dans le groupe G2. Dès lors, ceux du G1 s'excluent mutuellement, ceux du G2 également. On ajoute aussi autant de groupes qu'on veut, et on a pondu 0 lignes de codes pour une ergonomie attendue par l'utilisateur, à savoir des checkbox qui peuvent être remplis sans s'exclure (ce n'est pas leur fonctionnalité), et des optionbutton qui s'excluent (c'est leur fonctionnalité).

    Nom : 2019-07-10_065716.png
Affichages : 785
Taille : 23,7 Ko

    Je ne comprendrai jamais pourquoi des gens perdent du temps à réinventer (souvent en plus mal et en plus lourd) des trucs qui existent nativement
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    Bonjour pierre
    il est certain que les optionbuttons fonctionne déjà comme cela
    c'était juste pour répondre a jean Philippe André
    comment peux-tu 'les grouper comme les optionbuttons' ?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut Patrick,

    Citation Envoyé par patricktoulon Voir le message
    Bonjour pierre
    il est certain que les optionbuttons fonctionne déjà comme cela
    c'était juste pour répondre a jean Philippe André
    Tu dis ceci:
    Citation Envoyé par patricktoulon Voir le message
    [...]il suffit de les grouper comme les optionbuttons
    Ta réponse est erronée puisque ça ne fonctionne pas comme les optionbuttons, justement. Lorsque tu dis cela, tu laisse supposer qu'il suffit d'utiliser la propriété GroupName "comme pour des optionbuttons" alors que ce n'est pas le cas. Et si tu donnes l'exemple avec du code en disant que ça marche comme des optionbuttons, tu masques justement le fait qu'avec les optionbuttons, il n'y a pas besoin de code!

    Toi, dans ton code, tu utilises le GroupName de façon déviée, un peu comme un tag (présent pour les contrôles de userform mais pas pour les activex de feuille), mais nativement, la propriété ne sert pas à cela. Tu pourrais d'ailleurs avoir le même fonctionnement en préfixant les noms de tes contrôles sans t'emmêler les pinceaux avec des propriétés qui sont improprement utilisées dans le code que tu donnes (code qui, de plus, est inutile si on utilise les contrôles corrects).


    Ca ne me semble pas trop difficile à comprendre...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  13. #13
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    je suis d'accords avec toi quand tu dis que tu peux faire sans code avec des optionbutton (dans cet exercice!!! )

    mais je ne suis pas d'accord quand tu dis que je dévie l'utilisation de "GroupName" je dirais même le contraire

    quoi de mieux que d'avoir la possibilité de grouper des controls identiques qui sont sensé se modifier l'un l'autre

    jouer avec des préfixe ou suffixe ou tag quand tu a 3 controls ca peut être suffisant mais si tu a x groupe avec nombre de controls différent et ben amuse toi bien avec tes suffixe, préfixe,tag

    et je pourrais te donner un exemple concret avec des checkboxs que tu pourrais pas reproduire avec des optionbutton

    ps:il y aurai aussi (dans le cas ou le principe natif des optionbutton soit incompatible avec le projet) la possibilité d'une simple variable object de type checkbox en global module


    essaie avec des optionbutton(sans les dégrouper bien sur car ca remettrais en question ton raisonnement) ceci
    *taille1 *objet1
    *taille2 *objet2
    *taille3 *objet3
    *taille4 *objet4
    etc.... etc...
    et les dernier
    *toutes les tailles * tout les objets
    le dernier doit cocher tout les autres dans leur groupe respectif
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    [...]
    essaie avec des optionbutton(sans les dégrouper bien sur car ca remettrais en question ton raisonnement) ceci

    le dernier doit cocher tout les autres dans leur groupe respectif
    Je n'ai rien compris de ce que tu voudrais me faire essayer, mais j'ai envie de dire: essaie toi-même et montre-nous comment tu t'y prends. La phrase que j'ai mise en gras dans la citation m'interpelle car justement, ce n'est pas possible de réaliser cela avec des optionbutton puisque si un est coché dans un groupe, il décoche tous les autres du groupe. Le dernier ne saurait donc les cocher tous. Je ne comprends donc rien à ton énoncé.

    Sur aucun des nombreux projets que j'ai eu à réaliser, je n'ai dû utiliser GroupName pour autre chose que des optionbutton. Je ne vois d'ailleurs pas en quoi GroupName serait mieux que Tag et je ne vois pas que ce que tu fais avec GroupName, on ne pourrait pas le faire avec Tag. On peut d'ailleurs, avec l'une comme avec l'autre puisque ce sont des string, passer plusieurs valeurs. A part pour grouper des optionbutton (utilité première de GroupName), tout ce que tu fais avec GroupName, on peut le faire avec Tag. Je répète également que normalement, l'ergonomie spécifique des checkbox et des optionbutton fait que cocher un checkbox ne devrait pas en décocher d'autres car cela, c'est le rôle des optionbutton. C'est pour moi une mauvais pratique que d'utiliser les mauvais contrôles. Mes bonnes pratiques me font utiliser les bons contrôles et les bonnes propriétés, et je préfère alors utiliser Tag pour associer certains contrôles. Les deux propriétés sont des propriétés String. L'avantage de Tag est qu'elle est disponible pour d'autres contrôles que les checkbox ou optionbutton. Après, chacun code comme il l'entend. J'ai mes bonnes pratiques et je n'adopterai pas les tiennes.


    Citation Envoyé par patricktoulon Voir le message
    [...]

    et je pourrais te donner un exemple concret avec des checkboxs que tu pourrais pas reproduire avec des optionbutton[...]
    Forcément, ce ne sont pas les mêmes contrôles et la finalité de leur utilisation n'est pas la même. Remplace Checkboxs par TextBox et optionbutton par ComboBox dans ta phrase et elle n'aura pas moins de sens. C'est idiot de vouloir comparer des types de contrôles entre eux. Les checkbox ont une utilité et les optionbutton une autre. Ce n'est pas juste que certains sont carrés et d'autres ronds. Purée!
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. [VBA-E] Problème macro excel
    Par pontus21 dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 19/05/2006, 18h38
  2. problème contrôle checkbox cliqué ou non
    Par mussara dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/04/2006, 16h16
  3. [ASP3] Problème de checkbox
    Par beegees dans le forum ASP
    Réponses: 2
    Dernier message: 23/03/2006, 16h42
  4. [xsl] Probléme De checkbox
    Par dimkha dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 27/01/2006, 12h09
  5. Problème sur CHECKBOX
    Par dede92 dans le forum Windows
    Réponses: 6
    Dernier message: 22/02/2005, 10h48

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