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 :

Balayer tous les boutons à bascule sur une feuille [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    893
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 893
    Points : 833
    Points
    833
    Par défaut Balayer tous les boutons à bascule sur une feuille
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        Dim Ctrl As OLEObjects 'Shape                 'OLEObjects
     
        '--- Identifie les boutons enfoncés
     
        For Each Ctrl In ActiveSheet.Shapes   
            Debug.Print Ctrl.Name                                                 'OK FONCTIONNE
            If UCase(Left(Ctrl.Name, 10)) = "TGBJOURSEM" Then
                Debug.Print "--" & Ctrl.Caption
                Debug.Print "--" & Ctrl.Value
                Debug.Print Ctrl.LinkedCell
               '...
    j'ai à chaque fois
    Propriété ou méthode non gérée par cet objet
    Comment dois-je définir mon "CTRL" ?

    Merci

    ESVBA

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,
    s'il s'agit de ActiveX
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim Ctrl As OLEObject'sans s
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each Ctrl In ActiveSheet.OLEObjects
            MsgBox Ctrl.Object.Caption
    Next
    ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Ctrl As OLEObject 'Shape                 'OLEObjects
    For Each Ctrl In ActiveSheet.OLEObjects                                         'OK FONCTIONNE
      If UCase(Left(Ctrl.Object.Name, 10)) = "TGBJOURSEM" Then
          Debug.Print "--" & Ctrl.Object.Caption
          Debug.Print "--" & Ctrl.Object.Value
          Debug.Print Ctrl.Object.LinkedCell

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    893
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 893
    Points : 833
    Points
    833
    Par défaut Bonsoir Cassefayere
    Merci de ta réponse.

    j'ai recopié dans le post un peu n'importe quoi après avoir testé n'importe quoi.



    Donc il faut ajouter ".Object".
    Mais "MsgBox Ctrl.Name" fonctionne, c'est la propriété par défaut donc VBA trouve le bon nom ?

    J'ai la même erreur sur
    If UCase(Left(Ctrl.Object.Name, 10)) = "TGBJOURSEM" Then
    mais pas si je mets :
    If UCase(Left(Ctrl.Name, 10)) = "TGBJOURSEM" Then
    .

    Quand dois-je ajouter ".Object ?"

    ESVBA

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    je n'ai pas vérifié pour le "Name" donc si ça fonctionne...
    ma référence http://silkyroad.developpez.com/VBA/...lcul/#LII-A-14

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    893
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 893
    Points : 833
    Points
    833
    Par défaut
    Merci pour le lien.

    Je ne ferme pas immédiatement le post au cas où j'aurais encore un problème du même genre avec les "OLEObjects".

    Sinon un grand merci de votre participation.


    ESVBA

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    893
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 893
    Points : 833
    Points
    833
    Par défaut Bilan
    Bonjour,

    je reviens vers vous pour dire que j'ai obtenu ce que je voulais sans hélas comprendre réellement quand il faut ajouter ".object".

    Question résolue.

    Merci.


    ESVBA

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/02/2016, 13h10
  2. Réponses: 8
    Dernier message: 22/09/2008, 09h19
  3. tous les sites hébergés sur une adresse IP
    Par ver_for dans le forum Serveurs (Apache, IIS,...)
    Réponses: 4
    Dernier message: 21/07/2008, 10h30
  4. Placer un bouton statique sur une feuille
    Par redabadache3 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/09/2007, 19h27
  5. [VBA E] bouton dynamique sur une feuille
    Par zoumzoum59 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 24/06/2006, 18h05

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