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 :

Impossible de communiquer avec les checkbox ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2018
    Messages : 9
    Par défaut Impossible de communiquer avec les checkbox ?
    Bonjour à tous,

    Je dispose d'un tableau assez volumineux possédant 3 checkbox par ligne. Ce sont des checkbox du type "contrôle de formulaire".
    Par défaut, Excel les nomme "Case à cocher 1"; "Case à cocher 57"...
    Je les ai renommées "casacocher1" etc pour éviter les espaces.

    J'essaye simplement de faire une manipulation simple et me voilà bloqué. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub Caseacocher1()
     
    If ActiveSheet.casacocher1.Value = True Then
    ActiveSheet.casacocher2.Value = False
     
    End If
     
    End Sub
    On me retourne une erreur "Propriété ou méthode non gérée par cet objet"
    J'ai essayé toutes les variantes du style If Workbooks("...").Sheets("...") etc, mais rien n'y fait.

    Cela m'étonne beaucoup car ce n'est pas mon premier projet contenant des checkbox, mais je n'ai jamais eu ce problème...

    C'est peut être gros, mais je ne vois pas

    Merci d'avance !

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Affectes cette macro à la case à cocher "casacocher1" et cliques dessus pour voir le résultat sur l'autre (casacocher2). Les contrôles issus de la barre d'outils "Formulaire" n'ont pas les même méthodes et propriétés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub CocherDecocher()
     
        With ActiveSheet
     
            If .Shapes("casacocher1").ControlFormat.Value = xlOn Then
                .Shapes("casacocher2").ControlFormat.Value = xlOff
            Else
                .Shapes("casacocher2").ControlFormat.Value = xlOn
            End If
     
        End With
     
    End Sub

  3. #3
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2018
    Messages : 9
    Par défaut
    Bonjour Theze,

    Super ça fonctionne C'est vrai que maintenant que j'y repense, j'utilisais d'habitude les checkbox directement dans la création de formulaires...

    Est-ce que tu connaitrais un moyen de renommer facilement toutes mes checkbox plutot que de les passer en revue une par une ? J'en ai un petit paquet

    Merci à toi !


    Cordialement

  4. #4
    Membre habitué
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Juin 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Indre (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Juin 2018
    Messages : 9
    Par défaut
    Rebonjour,

    je me permet de poser une autre question à la suite de ce sujet, si cela pose problème j'en créerai un nouveau.

    Chaque ligne de mon tableau comporte 3 checkbox ("Pas concerné" ; "Concerné" ; "Important")
    Je veux que, lorsque la box "Pas concerné" de la ligne est sélectionnée, toute la ligne en question soit masquée, à l'exception des 3 dernières colonnes qui contiennent les checkbox, de manière à pouvoir masquer, démasquer, remasquer...
    (Les checkbox se trouvent à l'extérieur de la zone d'impression)

    Nom : Capture.PNG
Affichages : 668
Taille : 108,1 Ko

    Des idées ?

    Cordialement

  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
    Bonjour
    la masquage d'une ligne :
    1) masque la ligne entière
    2) ne masque pas tes checkboxes. Celles-ci ne seront toutefois alors plus en regard des cellules concernées.

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Pour renommer :
    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
     
    Sub Renommer()
     
        Dim S As Shape
        Dim I As Integer
     
        For Each S In ActiveSheet.Shapes
     
            Debug.Print S.Name 'ici, le nom de l'objet tel que vu par le compilateur
            S.Name = Replace(S.Name, " ", "") 'suppression des espaces
            I = I + 1
            S.TextFrame.Characters.Text = "Ma Case à Cocher Numéro " & I 'ici, titre de la case à cocher
     
        Next S
     
    End Sub

  7. #7
    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.

    Utilisation totalement détournée d'un outil qui n'est pas fait pour cela => usine à gaz...

    Qui plus est avec les cellules fusionnées et autres joyeusetés. C'est vrai qu'il est possible de réaliser beaucoup avec Excel, mais parfois, il faut peut-être reconnaître qu'on tire un peu trop sur la ficelle et accepter les limites d'un tableur...
    "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...
    ---------------

Discussions similaires

  1. [Dates] Probleme d'affichage avec les checkbox
    Par Maria1505 dans le forum Langage
    Réponses: 8
    Dernier message: 07/12/2006, 15h45
  2. Problème avec les checkbox
    Par presteus dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/07/2006, 01h06
  3. Bug avec les CheckBox
    Par L4BiN dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 19/06/2006, 16h47
  4. [Tableaux] pb avec les checkbox
    Par splouf dans le forum Langage
    Réponses: 29
    Dernier message: 12/01/2006, 15h52
  5. Pb avec les checkbox: tout sélectionner,récupération valeurs
    Par bubble_gum dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/10/2004, 17h42

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