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 :

Rapatrier des données filtrées dans une listbox


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Rapatrier des données filtrées dans une listbox
    Bonjour,

    Je fais un filtre sur des données, que je veux rapatrier dans un listbox. Seulement, je veux le faire cellule par cellule et non ligne par ligne, afin de ne prendre que les cellules qui m'intéressent mais en rajoutant, dans la première colonne, le n° de la ligne concernée.

    Ex :

    NOM - Prénom - Age - Date de naissance

    Je récupère dans mon filtre tous ceux qui s'appellent MARTIN mais je n'affiche dans mon listbox que : N° ligne - NOM - Prénom.

    Voici le code que j'ai commencé à faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    'Voici le nombre de lignes affichées par le filtre :
        Nbre_lignes_filtrees = ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count - 1
     
    For i = 2 To Nbre_lignes_filtrees
     
    numero_ligne = Range("_filterdatabase").SpecialCells(xlCellTypeVisible).Areas(i).Row
    Lst_Recherche.AddItem
    Lst_Recherche.List(i - 2, 0) = numero_ligne 'Ajout du n° ligne
    'valeur = Cells(numero_ligne, 1).Value
    '...
    next
    Mon soucis est que cela marche très bien pour la première ligne, mais que pour la seconde, j'ai un message d'erreur sur areas(i).row et que je comprends pas pourquoi.
    "Erreur d'exécution 1004
    Erreur définie par l'application ou par l'objet"

    Merci d'avance pour votre aide ou pour une autre solution...

    Au secours !!

  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
    Tu comprends bien que si tu mets "For i = 2 To Nbre_lignes_filtrees" tu as les lignes de 2 à Nbre_lignes_filtrees et non les N° des seules lignes filtrées.
    Pour obtenir ce que tu veux, tu ne dois "visiter" que les lignes visibles.
    En supposant ta liste dans un userform, ça donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub UserForm_Activate()
    Dim Plage as range, cell as range
        Set plage = ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible)
        For Each cell In plage
             Lst_Recherche.AddItem cell
             Lst_Recherche.list(Lst_Recherche.Listcount - 1, 1) = Cell.Row
        Next
        Set plage = nothing
    End Sub

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2004
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup !!

    Et pour l'explication et pour le code

    Je vais travailler ça.

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/12/2012, 15h46
  2. export des données excel dans une listbox vb.net
    Par amalch dans le forum VB.NET
    Réponses: 1
    Dernier message: 14/03/2011, 11h52
  3. [XL-2007] Faire en sorte d'insérer des données triées dans une ListBox.
    Par EtherniTy dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/09/2010, 13h35
  4. Insérer des données XML dans une ListBox
    Par Corlo dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 25/10/2007, 11h49
  5. Insérer des données Excel dans une base Access ?
    Par MaTHieU_ dans le forum Access
    Réponses: 3
    Dernier message: 22/06/2005, 15h11

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