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 :

Coordonnées d'une checkbox [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut Coordonnées d'une checkbox
    Bonjour à tous,

    J'ai un fichier excel avec des checkbox placé dans les cellules d'un tableau. L'utilisateur les coche selon ses besoins.
    J'aimerais que via, une macro, excel puisse me renvoyer la valeur des cellules de la première colonne des lignes, où les checkboxs ont été cochées.

    Le problème, c'est que le fichier en question a été créé n'importe comment et le nom des checkboxs n'ont aucune logique. De plus, il serait préférable de ne pas trop le modifier.

    La question est donc :

    Est-il possible, à partir des coordonnées d'une cellule, de selectionner une checkbox ?

    Je pense que ce que c'est impossible, mais sait-on jamais. Si quelqu'un à une idée.

  2. #2
    Membre éprouvé
    Inscrit en
    Mai 2011
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 85
    Par défaut
    Je ne pense pas non plus que ce soit possible. Je pense que la solution la plus simple est de modifier les noms de tes checkbox. Je suppose que si t'as pas trop envie d'y toucher c'est parce qu'il y a des références à ces checkbox dans le code, mais bon la fonction remplacer devrait rendre le tout pas trop pénible.

  3. #3
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Voici un exmeple de fonction
    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
    Function Cherche_Checkbox(strAddress As String) As String
    Dim obj As OLEObject
    Dim strRetour As String
     
    For Each obj In Me.OLEObjects
     
        If TypeOf obj.Object Is MSForms.CheckBox Then
            If obj.TopLeftCell.Address(False, False) = strAddress Then
                strRetour = obj.Name
            End If
        End If
     
    Next
     
    Cherche_Checkbox = strRetour
     
    End Function
    Que l'on utilise comme cela. Retourne le nom de checkbox qui se trouve en A16
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Cherche_Checkbox("A16")
    Et pour cocher ou décocher la checkbox d'une cellule

    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 Coche_decoche(strAddress As String)
    Dim obj As OLEObject
     
    For Each obj In Me.OLEObjects
     
        If TypeOf obj.Object Is MSForms.CheckBox Then
            If obj.TopLeftCell.Address(False, False) = strAddress Then
                obj.Object.Value = Not obj.Object.Value
            End If
        End If
     
    Next
     
    End Sub

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut
    Woaw ! Je suis impressionné, on peut vraiment tout faire avec excel !

    Par contre, il y a un problème que je ne sais pas corriger tout seul car j'avoue que cette fonction dépasse mes compétences :

    Quand je la lance, il me met "utilisation incorrect du mot clé : Me". (ligne 5)

    J'ai donc changé Me par workbooks("nom du classeur").
    Cette fois ci le problème est ligne 6. : "Type défini par l'utilisateur non défini".

    J'ai essayé de m'inspirer de ça (http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx) pour corriger mais je n'y arrive pas...

  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each obj In Me.OLEObjects
    Ici Me est un raccourci pour nommer la feuille quand le code se trouve sur la feuille contenant les objets
    Si ton code se trouve dans un module, il faut stipuler le nom de la feuille
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each obj In Sheets("Feuil1").OLEObjects

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 129
    Par défaut
    Merci pour ton message.
    Effectivement j'avais mis le code dans un module. J'ai donc changé me par le workbooks("workbook").sheets("feuille") mais j'ai toujours un problème ligne 6.

    "Type défini par l'utilisateur non défini".

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

Discussions similaires

  1. Readonly sur une checkbox
    Par Oluha dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/02/2005, 11h09
  2. [FLASH MX] Police d'une Checkbox
    Par n_tony dans le forum Flash
    Réponses: 5
    Dernier message: 08/12/2004, 12h04
  3. Etat coché ou décoché d'une checkbox
    Par El Saigneur dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/10/2004, 16h56
  4. [XML][XSL]afficher une checkbox cochée
    Par kirk80 dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/09/2004, 17h49
  5. [struts] mémorisation d'une checkbox avec cookie
    Par rocco dans le forum Struts 1
    Réponses: 3
    Dernier message: 22/04/2004, 12h39

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