Macro excel - mise en forme conditionnelle dynamique filtre

Résolu/Fermé
voyo - 4 avril 2013 à 16:27
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.
A voir également:

3 réponses

lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
5 avril 2013 à 15:46
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+

0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
Modifié par eriiic le 7/04/2013 à 21:15
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)
https://www.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.
0
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
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)
0