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 :

[E-03] Filtre auto et lignes masquées


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut [E-03] Filtre auto et lignes masquées
    Bonsoir, j'aurai besoin de votre aide SVP pour régler un petit problème.

    Avec une macro je fais un filtre auto avec un certain nombre de critères.

    Ensuite, je souhaite ajouter les éléments filtrés dans une listbox.

    Mon problème est qu'avec mon code les lignes masquées sont quand même prises en compte au lieu de traiter uniquement les lignes qui sont apparentes.

    Exemple:

    Le filtre masque la ligne 4.
    Je dois copier le contenu des cellules "I3" et "I5" dans ma listbox.
    --> La macro copie "I3", "I4", "I5" dans la listbox.

    Voici mon code sur lequel je bloque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    'Ajoute les résultats trouvés dans les listbox
     
    tableau = Range("A1:L" & Range("L65536").End(xlUp).Row)
     
    For i = 2 To UBound(tableau)
        resultat.Add tableau(i, 9), CStr(tableau(i, 9))
    Next i
     
    For i = 1 To resultat.Count
            ListBoxnom.AddItem resultat(i)
    Next i
    Merci d'avance pour votre aide

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Bonjour allergique,
    je vous envoi une piste de solution. J'ajouterais une condition dans votre boucle qui ressemblerait à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For i = 1 To resultat.Count
        If resultat(i).Hidden = True Then
             Goto Suite
        Else
             ListBoxnom.AddItem resultat(i)
        End if
    Suite:
    Next i
    Le but serait de lui dire, si la cellule est cachée, passe à la cellule suivante, de là le Goto. Je n'ai pas testé toutefois.

    Cordialement,

    Étienne

  3. #3
    Membre régulier Avatar de allergique
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 151
    Points : 108
    Points
    108
    Par défaut
    Bonsoir Etienne,

    J'ai adapté mon code sur le principe que tu m'as indiqué et ça fonctionne.

    Voici le code tel qu'il fonctionne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For i = 2 To UBound(tableau)
        If Rows(i).Hidden = False Then
            resultat.Add tableau(i, 9), CStr(tableau(i, 9))
        End If
    Next i
    
    For i = 1 To resultat.Count
            ListBoxnom.AddItem resultat(i)
    Next i
    Merci beaucoup

    Bonne soirée

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Bonjour allergique,
    votre méthode est beaucoup plus efficace et esthétique que celle que je vous avait proposée. Content d'avoir pu vous donner un peu d'inspiration !

    Passez une bonne fin de journée !

    Cordialement,

    Étienne

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

Discussions similaires

  1. [VBA-E] Connaître la 1ère & la dernière ligne sur un filtre AUTO
    Par CléoB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/02/2007, 18h09
  2. [VBA-E] selection plage + filtre auto
    Par noug dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/05/2006, 15h57
  3. [VBA EXCEL] Protection feuille avec filtre auto
    Par mirumoto dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2006, 10h48
  4. [VBA-E] Afficher lignes masquées dans une feuille protégée
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/12/2005, 18h59
  5. [VBA-E] Parcourir les lignes filtrées après un filtre auto
    Par leptitdave dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2005, 13h14

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