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 :

Lister les combobox d'un classeur


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Points : 47
    Points
    47
    Par défaut Lister les combobox d'un classeur
    Bonjour,

    est-il possible de lister l"ensemble des combobox d'un classeur et de créer une liste des noms dans une colonne excel ?

    J'arrive bien à le faire avec des noms de cellules mais pas avec des Combobox.


    Merci d'avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Dans un userform, ça donne ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each Controle In Me.Controls
        If TypeName(Controle) = "ComboBox" Then MsgBox Controle.Name
    Next
    Dans une feuille de calculs, tous les contrôles sont des "Shape", TypeName ne permet pas de les distinguer. S'il existe une autre méthode, je ne la connais pas. Par contre, si tu connais leurs noms, tu pourrais les retrouver.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each Lobjet In Worksheets("Feuil1").Shapes
        MsgBox Lobjet.Name
    Next
    Tu dis
    A+

  3. #3
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonsoir windsor, bonsoir ousel'n'or

    une autre proposition

    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
     
    Sub ListerCombos()
    Dim tabloCombo As Variant
    tabloCombo = Array("")
    With ActiveSheet
      For Each obj In .OLEObjects
        If obj.progID Like "Forms.ComboBox.1" Then
          ReDim Preserve tabloCombo(UBound(tabloCombo) + 1)
          tabloCombo(UBound(tabloCombo)) = obj.Name
        End If
      Next
    End With
    Sheets.Add
    Range(Cells(1, 1), Cells(1 + UBound(tabloCombo), 1)).Value = Application.Transpose(tabloCombo)
    End Sub
    @+
    fred65200

  4. #4
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Points : 47
    Points
    47
    Par défaut
    Bonsoir,

    en fait, je cherchais quelque chose autour de ce type de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        For HubyLigne01 = 1 To Worksheets("Nappes").OLEObjects.Count
            'Ajout des Noms de Combobox manquants sur Feuille Erreurs
            If Worksheets(HubyFeuille01).Range(HubyCellule01).Offset(HubyLigne01, 0).Value <> Worksheets("Nappes").OLEObjects(HubyLigne01).Name Then
                Call Selection_Derniere_Cellule_Vide("Erreurs", "B65536")
                Selection.Value = Worksheets("Nappes").OLEObjects(HubyLigne01).Name
            End If
        Next HubyLigne01
    Il y a de l'idée, mais malheureusement, VBA, considère comme des OLEobjects uniquement les boutons mais pas les Combobox, pourquoi ?

    Quelqu'un le saurait-il ?

    Merci d'avance
    Windsor

  5. #5
    Membre du Club
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Points : 47
    Points
    47
    Par défaut
    Bonsoir,

    finalement, après quelques vérifications et racourcissement de certains noms de combo, mon code précédent fonctionne parfaitement.

    Merci à ce qui ont bien voulu me permettre d'avancer
    Windsor

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

Discussions similaires

  1. Lister les macros d'un classeur excel
    Par fffttt dans le forum WinDev
    Réponses: 2
    Dernier message: 05/06/2015, 09h48
  2. Lister les macros du classeur
    Par oiapoque dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/01/2009, 23h14
  3. Lister les procédures d'un classeur
    Par Daejung dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 07/10/2008, 23h00
  4. Réponses: 7
    Dernier message: 08/01/2007, 19h18
  5. Réponses: 17
    Dernier message: 08/08/2006, 14h08

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