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 :

ComboBox sur une feuille Excel & ListFillRange [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    840
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 840
    Par défaut ComboBox sur une feuille Excel & ListFillRange
    Bonjour,

    J'ai aucun souci avec la propriété ListFillRange ComboBox quand menu_1 fait référence à " ='Listes actions'!$A$2:$A$8" :

    Nom : Combobox LitFillRange.jpg
Affichages : 1708
Taille : 7,2 Ko

    Par contre si je créer un tableau nommé Tableau1, petit souci la propriété ListFillRange n'arrive pas à mémoriser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Activate()
        ComboBox1.ListFillRange = Tableau1
    End Sub
    Et si je créer un nom : liste_menu_1 = DECALER('Listes actions'!$A:$A;1;;NBVAL('Listes actions'!$A:$A)-1), même souci la propriété ListFillRange n'arrive pas à mémoriser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Activate()
        ComboBox1.ListFillRange = liste_menu_1
    End Sub
    Avez-vous une explication svp.
    Merci d'avance @+

  2. #2
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonsoir,

    Essayer de coder comme ceci ;
    A remplacer le nom du tableau et colonne par mes vôtres.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ComboBox1.List = Range("NomTable[Nom Colonne]").Listobject.DataBodyRange.Value
    Bav,

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    840
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 840
    Par défaut
    Bonsoir mfoxy,
    Merci pour votre réponse, je viens de tester ça renvoi :
    Erreur d'exécution '1004' :
    La méthode 'Range' de l'objet'_Worsheet' a échoué

  4. #4
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Re,

    Assez bizarre, j'ai coupé mon Pc donc je ne saurais pas test mais de mémoire, j'aurais écris l'instruction que je t'ai envoyé
    Pourrais-tu déposer ta ligne de code ? Vérifier que pas d'erreur de casse dans nom de table et colonne ?

    Bat,

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    840
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 840
    Par défaut
    Dans un premier temps j'avais copié le ComboBox dans mon classeur depuis un autre classeur, je viens de l'effacer et à nouveau copié dans mon classeur et lorsque je l'enregistre voici le message qui s'affiche :
    Voulez-vous enregistrer 'Nom du classeur actif ……..' avec des références à des documents non enregistrés ?

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La propriété ListFilRange d'un contrôle ActiveX ListBox ou ComboBox attend une adresse(Chaîne de caractères) donc avec pour exemple un ListBox et comme référence un tableau nommé T_Test ListBox1.ListFillRange = Range("T_Test").Address ou si le ListBox n'est pas dans la feuille active ListBox1.ListFillRange = Range("T_Test").Address(External:=True)

    [EDIT]
    Pour rester complet
    Si nous reprenons l'exemple de Michaël que je salue au passage (ici la feuille se nomme TimeSheet et la table T_TimeSheet)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Test()
     With ThisWorkbook.Worksheets("TimeSheet")
     .ComboBox1.ListFillRange = .ListObjects("T_TimeSheet").DataBodyRange.Address(External:=True)
     End With
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. [XL-2010] ComboBox sur une feuille Excel faisant référence à une plage nommée
    Par formabox dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/05/2015, 18h08
  2. Réponses: 9
    Dernier message: 04/04/2007, 11h16
  3. [VBA EXCEL]comment utiliser les boites a outils control sur une feuille excel
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/02/2007, 19h04
  4. Réponses: 8
    Dernier message: 15/05/2006, 14h33
  5. ecrire sur une feuille excel avec Asp
    Par Ajay dans le forum ASP
    Réponses: 7
    Dernier message: 06/01/2006, 23h18

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