Macro excel - mise en forme conditionnelle dynamique filtre [Résolu/Fermé]

- - Dernière réponse : voyo83
Messages postés
9
Date d'inscription
jeudi 4 avril 2013
Statut
Membre
Dernière intervention
8 avril 2014
- 9 avril 2013 à 17:58
Bonjour à tous, je ne connais pas du tout les macros, j'ai bidouillé 2-3 trucs pour obtenir ce que je voulais mais la je bloque sérieusement c'est pourquoi je fais appel à vous.


Voici mon projet : Je souhaite réaliser une macro qui colorise la valeur la plus élevé dans un tableau selon l'application de filtres.

Je m'explique : je travaille avec plusieurs fournisseurs qui propose des produits différents, certains avec un prix très élevé et d'autres beaucoup moins cher.
Ainsi, il ne serait pas cohérent de faire une mise en forme conditionnelle sur l'ensemble de tous ces produits mais bien fournisseurs par fournisseurs.
Seulement je suis amener à saisir régulièrement de nouveaux produits et je ne peux donc pas figer une plage fixe pour cette MFC.


J'ai fait des macros pour filtrer l'ensemble de mes produits fournisseurs par fournisseurs et excel masque ainsi les lignes des fournisseurs pour lesquels je ne souhaite pas connaitre les prix.

Le problème étant qu'avec mon peu de connaissance en la matière j'ai pu faire une macro qui me sélectionne automatiquement la ligne juste en dessous de mon en-tête jusqu'à la dernière ligne des produits du fournisseurs intéressés. Dans mon cas l'en-tête se situe en ligne 9 et il me sélectionne la ligne 10 (qui peut-être masquée ou non) selon le fournisseur.


J'espère avoir été clair car ce n'est pas évident à expliquer.


Je vous demande donc de répondre à l'une de mes deux demandes qui sont soit :

- m'éclaircir sur le codage pour repérer le numéro de la 1ère ligne (non masquée) qui suit mon en-tête (exemple : en-tête en ligne 9, application du filtre --> ligne suivant l'en-tête 200 --> les lignes 10 à 199 sont masquées et ne m'intéresse pas)

-me proposer une ébauche de codage de cette macro

Merci beaucoup pour vos réponses.
Afficher la suite 

3 réponses

Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1020
0
Merci
Bonjour,
Un début de piste..
Sub LigneCachees()
Dim Lig As Long
    For Lig = 10 To Cells(Rows.Count, 1).End(xlUp).Row
        If Rows(Lig).Hidden = False Then
            Stop
            'Cette ligne est visible
        Else
            Stop
            'Cette ligne est cachée
        End If
    Next Lig
End Sub
A+

Messages postés
23081
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
18 novembre 2019
5758
0
Merci
Bonjour à tous,

pas sûr d'avoir compris le pourquoi ta réticence à faire une MFC mais tu peux avec en MFC :
=SOUS.TOTAL(104;B:B)
http://cjoint.com/?CDhvgT0svDD

eric

edit:
1ère ligne visible hors la 1 sans boucle :
MsgBox Split(Split([A:A].SpecialCells(xlCellTypeVisible).Address, ",")(1), "$")(2)
eric

Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
Messages postés
9
Date d'inscription
jeudi 4 avril 2013
Statut
Membre
Dernière intervention
8 avril 2014
0
Merci
Merci d'avoir répondu mais j'ai trouver une autre solution, je créer une MFC par macro à chaque filtre que j'applique et je supprime toutes les MFC existante à chaque fois que je fais un filtre. Bref cela marche mais j'ai un nouveau problème que je vais poster (macro pour ajouter une variable)