Macro excel - mise en forme conditionnelle dynamique filtre
Résolu
voyo
-
voyo83 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
voyo83 Messages postés 9 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Macro excel - mise en forme conditionnelle dynamique filtre
- Mise en forme conditionnelle excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Mise en forme tableau word - Guide
- Mise en forme tableau croisé dynamique - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
3 réponses
Bonjour,
Un début de piste..
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 SubA+
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.
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.