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 de "cases à cocher" Excel 2003 [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Par défaut Problème de "cases à cocher" Excel 2003
    Bonjour,
    Ma config : Excel pour Office 2003
    Je n'ai trouvé nulle part sur le forum la réponse à mon problème.
    Dans une feuiile qui s'appelle "Commandes", j'ai 4 cases d'options regroupées en 2 groupes
    Option_A1 et Option_A2 dans Groupe_A
    Option_B1 et Option_B2 dans Groupe_B
    Lee fonctionnement à l'air correct car elles me renvoient les bonnes valeurs True et False.
    Je voudrai les gérer, c'est à dire rendre un groupe ou l'autre visible ou non en fonction d'une condition donnée par une case à cocher (qui renvoie True ou False), par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if Case_a_cocher then
      Groupe_A est visible
      Groupe_B est masqué
    else
      Groupe_A est masqué
      Groupe_B est visible
    end if
    J'ai testé le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Case_a cocher_Click()
       OptionA1.Visible = Case_a cocher
       OptionA2.Visible = Case_a cocher
       OptionB1.Visible = not.Case_a cocher
       OptionB2.Visible = not.Case_a cocher
    End Sub
    Ca ne fonctionne que si mes 4 cases à cocher appartiennent toutes au même groupe et que ce groupe s'appelle : Feuil1
    Dès que je crée 2 groupes différents j'obtiens à l'exécution :

    Erreur d'exécution '1004'
    Impossible de définir la propriété Visible de la classe OLEObject

    Je remercie d'avance tous ceux qui pourront m'aider à résoudre ce problème
    Jean-Marc

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    Je penses qu'il faut que tu précises systématiquement à quoi appartient ta case à cocher.

    un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Case_a cocher_Click()
       dim WS1 as Worksheet, WS2 as Worksheet
     
       Set WS1 = ActiveWorkbook.Worksheets("Commandes")
       Set WS2 = ActiveWorkbook.Worksheets("Autres")
     
       WS1.OptionA1.Visible = Case_a cocher
       WS1.OptionA2.Visible = Case_a cocher
       WS2.OptionB1.Visible = not.Case_a cocher
       WS2.OptionB2.Visible = not.Case_a cocher
    End Sub
    si par exemple tes deux premiers boutons sont sur la feuille "Commandes" et les deux derniers sur la feuille "Autres"

    Si ils appartiennent à un userform, alors il faut remplacer le nom de la feuille(ici WS1 et WS2) par le nom de l'userform. D'une manière générale, je pense que ton code ne sait pas ou chercher, et qu'il faut le lui indiquer : quand ça marche, c'est juste de la chance.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Par défaut Problème de Cases d'options
    Bonjour,
    Excuse-moi, je suis un peu perdu.
    Tout est sur la même feuille "Commandes"
    Les 2 options A1 et A2 ont le même GroupeName "OptionA"
    Les 2 options B1 et B2 ont le même GroupeName "OptionB"
    Donc j'ai donc testé ton code qui devient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Case_a cocher_Click()
       dim WS1 as Worksheet
       Set WS1 = ActiveWorkbook.Worksheets("Commandes")
       WS1.OptionA1.Visible = Case_a cocher
       WS1.OptionA2.Visible = Case_a cocher
       WS1.OptionB1.Visible = not Case_a cocher
       WS1.OptionB2.Visible = not Case_a cocher
    End Sub
    Et j'obtiens :

    Erreur de compilation:
    Membre de données ou de méthode introuvable
    Je suis persuadé que ce sont les nom des groupes qu'il faut déclarer quelque part, mais où ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Par défaut
    J'ai essayé aussi avec le nom des groupes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Case_a cocher_Click()
       dim WS1 as Worksheet
       Set WS1 = ActiveWorkbook.Worksheets("Commandes")
       GroupeA.OptionA1.Visible = Case_a cocher
       GroupeA.OptionA2.Visible = Case_a cocher
       GroupeB.OptionB1.Visible = not Case_a cocher
       GroupeB.OptionB2.Visible = not Case_a cocher
    End Sub
    Et là j'obtiens le message :

    Erreur d'exécution '424':
    Objet requis

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Par défaut
    Citation Envoyé par JMH60 Voir le message
    Erreur de compilation:
    Membre de données ou de méthode introuvable
    normalement, il te selectionne la donnée qui pose problème. Qu'est-ce qu'il selectionne?

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Par défaut
    Il bloque sur la première ligne contenant OptionA1.Visible et affiche le message d'erreur sans autre précision

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 55
    Par défaut Gestion des cases d'options
    Bonjour,
    Le problème est résolu.
    Les noms de mes 2 groupes étaint OptionA et OptionB
    Ça ne devait pas plaire au VBA
    Je les ai remplacé par GroupeA et GroupeB et tout fonctionne.
    Merci à tous
    Jean-Marc

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

Discussions similaires

  1. Problèmes avec des cases à cocher et une liste déroulante
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 10h52
  2. Problème avec les cases à cocher
    Par psycopat dans le forum Access
    Réponses: 8
    Dernier message: 20/10/2005, 14h25
  3. [excel vba]case à cocher dans excel pour plusieurs lignes
    Par fcoisb dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/03/2005, 11h23

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