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 :

[Excel] Récupération d'un filtre automatique dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut [Excel] Récupération d'un filtre automatique dans une cellule
    Bonjour à tous,

    Je travaille sur un fichier Excel possédant plusieurs filtres automatiques. L'un d'entre eux fait une recherche sur des noms de fournisseurs (29 noms en tout). Ces noms sont avec doublons (en effet, après la recherche du filtre, le même nom de fournisseur apparaît sur plusieurs lignes car plusieurs enregistrements correspondent à un fournisseur).
    Je souhaiterais récupérer le nom du fournisseur (sélectionné par le filtre automatique) dans une cellule. Le problème est que je suis débutant sur Excel VBA et que je ne sais pas comment récupérer la valeur, sachant qu'il y a en tous 510 lignes correspondant aux fournisseurs et que le filtre automatique masque les lignes non choisies...
    J'espère avoir été assez clair.
    D'avance merci à tous ceux qui se pencheront sur mon problème ou qui sauront m'éclairer un peu...

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    Bonjour
    tout d'abord qq questions
    que fait ton filtre?
    Qu'est-ce que tu veux récupérer? et sur quelle plage tu travailles?
    rémi

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Bonjour,

    J'ai une colonne contenant 510 lignes avec des noms de fournisseurs. Dans cette colonne, j'ai 29 noms de fournisseurs différents, chaque nom se retrouvant sur plusieurs lignes. Le filtre permet de sélectionner un nom de fournisseur (donc parfois plusieurs lignes). Par exemple, si j'ai les fournisseurs XXX, AAA, ZZZ, BBB dans ma colonne, cela donne avant le filtre :
    XXX
    XXX
    XXX
    AAA
    AAA
    ZZZ
    BBB
    BBB
    BBB
    BBB
    Si je fais le filtre sur le fournisseur BBB, cela me donne :
    BBB
    BBB
    BBB
    BBB
    Excel m'affichera les 4 lignes correspondant à ce fournisseur et masquera les autres. Je travaille donc sur la plage de fournisseurs F2:F510.
    Mon but est de récupérer le nom du fournisseur choisi par l'utilisateur, dans une cellule de la même feuille, la cellule D512. En reprenant l'exemple du fournisseur BBB, je souhaiterai que dans ma cellule D512, s'affiche "BBB".
    Voilà, en espérant avoir été plus clair...
    En tous cas, merci de te pencher sur mon problème...

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    rebonjour
    j'ai trouvé ca sur la FAQ:
    Excel masque les lignes ne répondant pas au filtre, il suffit donc de récupérer la plage des cellules visibles.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("F2:F510").SpecialCells(xlCellTypeVisible).Copy Destination:=Range("D512")
    ca permet de copier ttes les cellules qui contiennent ta valeur
    mtnt il faut adapter pour en recopier qu'une
    rémi

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Merci !
    Oui, j'avais aperçu ça dans la FAQ mais évidemment il m'a recopié tous les fournisseurs, ce qui a un peu fait bugger mon fichier Excel. Du coup, j'avais laisser tomber cette ligne de code. Je vais la reprendre et essayer de l'adapter pour une cellule...

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    ca donnerais a peu pres ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim marange As Range
    Set marange = Range("F2:F510").SpecialCells(xlCellTypeVisible)
        cells(512,4).value = marange.cells(2, 1).Value
    cells(2,1) parceque la première cellule de ton filtre n'est pas concerné par le filtre mais est quand même visible

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Ouf je galérais un peu... Donc :

    Merci, super, ça marche !

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

Discussions similaires

  1. [FPDF] Retour à la ligne automatique dans une cellule
    Par franchesko62 dans le forum Bibliothèques et frameworks
    Réponses: 18
    Dernier message: 08/12/2016, 11h42
  2. Réponses: 1
    Dernier message: 12/05/2010, 11h14
  3. Réponses: 6
    Dernier message: 22/10/2009, 15h42
  4. [XL-2003] total automatique dans une cellule
    Par colgeo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/06/2009, 10h09
  5. Réponses: 1
    Dernier message: 19/11/2008, 18h22

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