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 :

[XL 2010 & 2013] Case à cocher enabled = false


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Expert technique en BTP
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert technique en BTP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Par défaut [XL 2010 & 2013] Case à cocher enabled = false
    Bonjour à tous,
    Je suis autodidacte et je réalise pour mon boulot des fichiers qui me facilitent la vie et celles de mes collègues fonctionnaires. Là, j’arrive aux limites du programme et je dois me lancer dans le VBA.
    Le problème est donc le suivant et il vous semblera sans doute basique :
    Sur une feuille "CLAD" j'ai des cases à cocher dans une zone de groupe et ces cases doivent être utilisables si la case option Oui est cochée et inutilisable si Non. Ces cases option sont liées à la cellule L2 - Donc si Oui L2=1, si Non L2=2.
    Nom : zone.jpg
Affichages : 2450
Taille : 14,1 Ko

    J’ai donc fait un petit code. Ici, il n'y bien entendu qu'une seule case à cocher
    Nom : code.jpg
Affichages : 1452
Taille : 33,5 Ko

    Mais je ne vois pas où est mon (ou mes) erreur(s) malgrés mes recheches sur le net (forum et tutoriels). En désespoir de cause je m’adresse à vous.

    Nom : erreur.jpg
Affichages : 1146
Taille : 21,9 Ko
    Mauvaise déclaration de variable très probablament comme le dit le message mais j’ai essayé en Checkbox, en Objet, rien y fait.

    Merci d’avance pour votre aide

    La question suivante sera comment faire disparaître, une zone de groupe et tout ce qu’elle contient.
    Marko

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Un contrôle formulaire n'est pas un contrôle ActiveX
    Il n'a pas de propriété Enabled
    Tu ne peux par ailleurs décider de déclarer un contrôle formulaire comme étant un objet Activex (ce que tente de faire la toute première ligne de ton code).

    EDIT : en d'autres termes : imagine que tu aies un lapin et que tu veuilles qu'il se comporte comme un tigre (avec les mêmes capacités). Crois-tu vraiment qu'à présenter ce lapin comme étant un tigre en fera un tigre ?

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Je n'aime pas ce genre de manip, mais tu peux toujours mettre en place la manoeuvre suivante :
    Au choix OUI ou NON (tes boutons d'option" :
    Si choix NON, alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     ActiveSheet.Shapes("Case à cocher 128").Select
        With Selection
            .Value = xlMixed
        End With
       ' et retour à ton bouton d'option par (analogue) ActiveSheet.Shapes("........").Select
    et bien évidemment une démarche du même genre au click :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Caseàcocher128_Clic()
       ' si choix NON alors (mettre ici ton code de vérification du choix)
     
        ActiveSheet.Shapes("Case à cocher 128").Select
        With Selection
            .Value = xlMixed
        End With
     
    End Sub
    EDIT : en liant tes boutons et cases à des cellules, le code à écrire serait plus léger (mais la manip ne m'en plairait pas plus pour autant)

  4. #4
    Membre régulier
    Homme Profil pro
    Expert technique en BTP
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Expert technique en BTP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Par défaut
    Merci unparia pour tes réponses.

    Donc si je comprend bien, je devrai investiguer vers les contrôles activeX pour plus d'efficacité ? (pour moi activeX = programation web )

    Je vais néanmoins tester les codes que tu proposes et les garder si ce la donne ce que j'attends.

    Encore merci

    Marko

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    pour moi activeX = programation web
    Non. Ce sont tout simplement, comme le sont des Dll, des programmes encapsulés dynamiques qui se comportent comme une classe et sont donc instanciables comme n'importe quel autre objet dans l'application qui les héberge.
    Regarde en mode développeur / Insertion -->> t'y sont proposés deux types de contrôles : Des contrôles formulaires et des contrôles activex.

  6. #6
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2011
    Messages : 181
    Par défaut
    Bonsoir à tous,

    Par souci de logique :
    - Les Options , c'est 1 parmi la totalité des propositions ;
    - Les "cases à cocher" en contrôle Formulaire ou CheckBox en Contrôle ActiveX, cela peut-être plus d'une.

    En conséquence, si on ne peut cliquer que sur 1 seule case, il faudrait les remplacer par des options dans 1 groupe séparé ...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/06/2014, 15h44
  2. [WD-2007] Case à cocher et somme des "true or false"
    Par slowfiction dans le forum Word
    Réponses: 4
    Dernier message: 30/05/2013, 15h21
  3. propriété enable pour Case à cocher
    Par Nightwing367 dans le forum IHM
    Réponses: 2
    Dernier message: 28/06/2010, 15h54
  4. Case à cocher à False lorsqu'on supprime un Enrg
    Par jmde dans le forum VBA Access
    Réponses: 8
    Dernier message: 17/06/2008, 06h46

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