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 :

masquer les lignes listbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut masquer les lignes listbox
    bsr
    j'ai une listbox de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    date..............sté.................article
    1/1/7.............d.....................f
    1/1/7.............f......................g
    2/1/7.............d.....................r
    3/4/7.............f.....................g
    .
    .
    .
    .
    par clic sur un bouton de commande
    je voulais afficher que les ligne contient la sté "d"
    veuillez m'aider
    merci.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Citation Envoyé par abouhossam Voir le message
    veuillez m'aider
    Dit de cette façon, ce n'est pas très bien formulé et cela semble impératif...
    => Je te suggère de revoir tes formules de politesse en disant plutôt "pouvez-vous m'aidez svp" par exemple.

    Ceci dit, cherche à modifier le contenu de ta listbox lorsque tu cliques sur le bouton de commande, car il n'y a pas de fonction de masquage de ses éléments. Tu supprimes tous les éléments qui ne contiennent pas la société "d": tout est dit dans cette phrase.

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    j'essaye d'expliquer bien le broblème
    dans Userform1 j'ai 3 textbox : date;sté;article
    et une listbox:récap qui renvoie les données d'une feuille "feuillerecap" à l'ouverture
    1- je veux que la listbox soit remplie selon les critères dans les textbox
    2- si un textbox est vide on ignore son critère
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    date..............sté.................article
    1/1/7.............d.....................f
    1/1/7.............f......................g
    2/1/7.............d.....................r
    3/4/7.............f.....................g
    .
    .
    .
    .
    je pense que c'est bien expliquer
    merci de ton aide.

  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
    Bonjour,

    Ben...
    On ne sait pas l'essentiel : cette listbox est-elle liée à des données ?


    Car :
    - si oui : c'est le recordset qu'il convient de modifier
    - si non : il suffit en effet de supprimer les articles à ne plus voir

  5. #5
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    oui elle est liée par des donnée
    j'ai bien expliquer ceci.

  6. #6
    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
    Tu ne peux donc rien y supprimer directement et il te faudra alors :
    - modifier ton recordSet
    - rafraichir ta listbox

    Bien qu'existe la possibilité d'une acrobatie alourdissnte :

    Utiliser une listbox non liée, "miroir" de celle liée. L'alimenter (par une boucle) des seuls articles à retenir pour l'affichage. Jouer avec les propriétés visible des deux listboxes

    Il est bien plus orthodoxe de modifier le recordset, comme dit plus haut.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Je reformule la question de ucfoutu: quel est le code que tu utilise pour remplir la listbox?

  8. #8
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    271
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 271
    Par défaut
    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
    Private Sub UserForm_Activate()
    Dim cel As Range
    récap.Clear
        With Worksheets("feuillerecap")
        For Each cel In .Range("a2:a" & .Range("a" & Rows.Count).End(xlUp).Row)
                With récap
                    .AddItem cel(1, 1)
                    .Column(1, .ListCount - 1) = cel(1, 2)
                    .Column(2, .ListCount - 1) = cel(1, 3)
                End With 
        Next cel
        End With
    End Sub
    merci pour votre aide.

  9. #9
    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
    Mais....
    Ton code ne donne pas à penser, bien au contraire (AddItem), que ta listbox est une listbox liée !!!
    Elle supporte alors la suppression d'articles ...

  10. #10
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Petite synthèse sur la manière de procéder:
    -remplir la totalité de la listbox lors de l'initialisation via une priocédure annexe
    -réinitialiser le contenu via la procédure annexe et enlever une partie de ce contenu en fonction du contenu des textbox

    Voilà, moi c'est comme ça que je ferais: la procédure annexe me servirait uniquement à ne pas me taper 2 fois le même code à l'initialisation et la ré-initialisation.

Discussions similaires

  1. [2K8] Masquer les lignes à 0 dans XLS
    Par tiboleo dans le forum SSAS
    Réponses: 1
    Dernier message: 20/08/2010, 16h39
  2. [BO6.5.1] Masquer les lignes vides
    Par Herlece dans le forum Deski
    Réponses: 3
    Dernier message: 06/08/2008, 11h03
  3. masquer les lignes
    Par abouhossam dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/02/2008, 09h20
  4. Supprimer/Masquer les lignes vides
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 23/05/2007, 12h13
  5. masquer les lignes dans une zone si une cellule de la ligne est vide
    Par keguira dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/11/2006, 18h21

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