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 :

récuperer les contenus des cellules pour un filtre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut récuperer les contenus des cellules pour un filtre
    Bonjour ,

    je veux récuperer les contenus des cellules d'une colonne dans une ListBox pour construire un filtre , j'ai une macro qui recupere tout les contenus des cellules, et sa c'est pas bon , car si il y'a deux cellules qui ont le même contenu il seront affichés deux fois dans la ListBox , et le bute est de créer un filtre.


    Merci de votre aide

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Essaye ceci en adaptant ta plage source et le nom de ta listbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim i As Integer, Tabl()
    Tabl = WorksheetFunction.Transpose(Range("A1:A8"))
    With ListBox1
        .AddItem Tabl(1)
        For i = 2 To UBound(Tabl)
            If WorksheetFunction.Match(Tabl(i), Tabl, 0) = i Then .AddItem Tabl(i)
        Next
    End With
    Cordialement,

    Tirex28/

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut
    j'ai essayé d'éxécuté la macro et j'ai bogue avec le message
    "Objet requis (erreur 424)" a la ligne suivante:
    j'ai déclaré Tabl comme variant mais sa ne marche pas

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut
    Sa marche , je me suis tromé j'ai met la macro dan un module alor je crois qu'il falait la mettre dans le UserForm , je vais essayer de l'adapter selon mes besoins.

    Merci tirex28

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut
    je veux passer a cette macro en argument le nom de la feuille et l'indice du champs (Num de colonne du champs)

    car je récupere les noms des feuilles du classeur dans un ComboBox et les cahmps des feuille dans une ListBox . j'ai essayé toutes les possibilités mais sa bogue je n'arrive pas a l'adapter , j'ai trouvé sur l'aide cette macro mais j'avou que je ne comprend pas bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set myRange = Worksheets("Sheet1").Range("A1:C10")
    answer = Application.WorksheetFunction.Min(myRange)
    MsgBox answer
    Merci de votre aide

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    175
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 175
    Par défaut
    j'arrive a donner comme argument a la macro le nom de la feuille mais quant elle rencontre une cellule vide elle bogue
    le code est :
    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 filtre(feuille As String)
    Dim i As Integer 
     Set rang = Worksheets(feuille).Range("A2:A450")
    Tabl = Application.WorksheetFunction.Transpose(rang)
     
    With ListBox4
        .AddItem Tabl(1)
        For i = 2 To UBound(Tabl)
            If WorksheetFunction.Match(Tabl(i), Tabl, 0) = i Then .AddItem Tabl(i)
          Then .AddItem Tabl(i)
        Next
       End With
     
    End Sub
    et j'aimerais bien si c'est possible d'avoir dans la liste les criteres (VIDE et NON VIDE) pour permettre a l'utilisateur de filtrer ses données selon sons choix

    Merci de m'avoir lu car je sais que j'écrit mal

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/04/2008, 17h20
  2. Lire un fichier Excel pour modifier les valeurs des cellules
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/10/2006, 15h13
  3. Réponses: 14
    Dernier message: 24/10/2006, 06h51
  4. Grille dessiner les bordures des cellules
    Par EPI_03 dans le forum Composants VCL
    Réponses: 18
    Dernier message: 18/04/2006, 12h16
  5. Récuperer les icons des JDialog
    Par Pro_Fete dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 17/04/2003, 13h00

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