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 :

Placer le résultat d'un filtre dans une combobox [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Placer le résultat d'un filtre dans une combobox
    Bonjour,

    tout est dans la question.

    L'utilisation de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub ComboBox1_Change()
        Sheets("Feuil1").ComboBox1.ListFillRange = Sheets("Feuil2").Range("A:A").SpecialCells(xlCellTypeVisible).Address
    End Sub
    ne fonctionne pas !

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Je vais essayer de te répondre de mémoire (pas Excel sous la main présentement)

    ListFillRange est (on voudra bien m'excuser si je me trompe) une propriété et non un objet de type plage (Range)
    Ton expression devrait donc (sauf erreur) être du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").ComboBox1.ListFillRange = Selection.Address(External: = True)
    (après une sélection)
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil1").ComboBox1.ListFillRange = Range([XY],[XY].End(xlDown)).Address(External:=True)
    ou X et Y représentent ta cellule

    Mais je peux me tromper (pas Excel sous la main). Teste donc.
    Et encore une fois mille excuses si ma mémoire "est à côté de la plaque" (toujours possible).

  3. #3
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Ou est le problème ?
    merci de ton aide.

    Hélas, cela ne change rien.

    Je fais actuellement des essais sur une unique feuille.

    Mes suppositions sont les suivantes :
    - ListFillRange n'accepte que des champs continus. c'est indiqué nul part
    - je ne sais pas me servir de la ComboBox !

    Voici mon fichier d'essais:


    Rien ne se met dans la combobox !

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Re...
    As-tu bien compris ce que j'essayais de t'exposer (si ma mémoire est bonne).
    La propriété (et non objet) en cause est censée contenir une chaîne de caractères. exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ...... .ListFillRange = "Sheet1!A2:A8"
    - je vois dès lors mal (personnellement) comment une telle chaîne pourrait définir des cellules non contigues.
    - ce que j'essayais de te dire dans mon premier message se résumait à ceci : il te faut générer la chaîne de caractères de la forme attendue et non te référer à un Range directement.

    EDIT :
    un truc tout bête pour vérifier ce qu'elle contient, cette propriété, après ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Msgbox ComboBox1.ListFillRange
    te permettra de le savoir.

  5. #5
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Quand on veut et que ça ne peut pas...
    encore merci.

    j'ai essayé comme pour une sélection multiple de plages :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Feuil2").ComboBox1.ListFillRange = "A1:A4,A6:A1
    Et la chaine après cette affectation est VIDE !

    Conclusion : "ListFillRange" n'accepte pas de plage non continue !

    Merci à toi.

    ESVBA

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

Discussions similaires

  1. Filtre dans une Combobox
    Par JulienLeno dans le forum Excel
    Réponses: 6
    Dernier message: 04/08/2011, 15h45
  2. Réponses: 4
    Dernier message: 02/07/2008, 11h32
  3. Réponses: 4
    Dernier message: 14/09/2005, 17h23
  4. [débutant] Résultat d'un exec dans une table temporaire
    Par amelie15 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/08/2005, 09h14
  5. [Sybase] résultat d'un select dans une variable
    Par stoz dans le forum Sybase
    Réponses: 2
    Dernier message: 14/09/2004, 14h28

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