Créer macro pour répéter mise forme cond.

Fermé
Andropode - 18 juin 2010 à 17:39
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 - 23 juin 2010 à 17:31
Bonjour,

Voici mon souci :

Un peu flémard, je souhaiterais reproduire la mise en forme conditionnelle appliquée en B9 et C9, à plusieurs voire à une cinquantaine de lignes ! Sauf que cette mise en forme dépend de la cellule au dessus d'elle (comme B9 et C9), et que cette mise en forme ne doit pas affecter la formule de la cellule. C'est pourquoi je ne peut étendre cette mise en forme comme on étend une formule (cela fonctionne pour la mise en forme mais la formule est modifiée).

Ya-t-il possibilité de créer une telle macro ?
Ou une autre solution existe-t-elle ?

Voici le classeur exemple : https://www.cjoint.com/?gsrMvMZe5v

D'avance merci !

A voir également:

5 réponses

Mister Canard Messages postés 512 Date d'inscription mardi 2 février 2010 Statut Membre Dernière intervention 22 février 2012 1
18 juin 2010 à 17:41
J'ai pas testé, mais essaye de sélectionner toutes les cellules concernées par ta mise en forme conditionelle, et va dans le menu Mise en forme conditionelle et regarde si tu peux appliquer ta mise en forme a toutes les cellules en même temps.
0
Cela fonctionne, j'ai déjà essayé, mais la condition est déterminée par une seule cellule. Or j'ai besoin que le test de chaque cellule se fasse par rapport à la cellule qui est placé au dessus d'elle.

Merci quand même.
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
18 juin 2010 à 20:51
Bonsoir,

Ta formule de MFC doit être en référence relative ligne.
Par exemple tu ne dois pas avoir
=$F$10
mais
=$F10

Le $ rend la référence absolue et fera toujours référence à cette ligne ou cette colonne (et non pas à celle de dessus ou celle de gauche par exemple).
eric
0
m@rina Messages postés 20077 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 avril 2024 11 272
18 juin 2010 à 21:10
Bonjour,

Un exemple :

Sub format_cond()
With Sheets("Feuil1").Range("maplage")
    .FormatConditions.Add Type:=xlExpression, Formula1:="=L(-1)C>LC"
    .FormatConditions(1).Interior.ColorIndex = 3
End With

End Sub


Cette macro met la couleur rouge pour chaque cellule de la plage "maplage", dont la valeur est inférieure à la valeur du dessus.

A toi de modifier la formule selon ce dont tu as besoin.

m@rina
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

Désolé mais ta macro doit comporter une erreur. Excel m'affiche erreur d'exécution '1004'

Que dois-je modifier ?
0
madeliocustom Messages postés 41 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 23 avril 2012 13
22 juin 2010 à 11:45
Bonjour Andropode,

l'exemple de m@rina me semble tres bien fonctionner (sur 2003), mais bien sur faut que tu l'adapates un peu, par exemple en évitant d'avoir dans ta plage (range) des données non numeriques --> sinon erreur 1004

A+
Madelio
0
Bonjour Madelio,

En effet, j'avais oublié le "=" en début de plage.
Cependant j'ai toujours une erreur 1004 dont le débogage me surligne :

.FormatConditions.Add Type:=xlExpression, Formula1:="=L(-1)C<LC"

Ai-je encore oublié de modifier quelque chose ? (je débute tout juste en programmation Excel)

Merci
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
23 juin 2010 à 16:49
Bonjour,

Ou une autre solution existe-t-elle ?
Vu ton besoin tu n'as pas vraiment besoin de macro...
Lis mon message du 18 à 20:51, maitriser les références relatives/absolues est nécessaire sur excel.

eric
0
Bonjour bonjour !

Pardon de ne pas avoir commenté ton message du 18, j'avais essayé ta méthode mais sans que cela marche. Je viens de comprendre : il faut étendre la mise en forme comme on étend une formule SAUF qu'il faut voir le petit carré "option de recopie incrémenté" et cocher "ne recopier que la mise en forme". Et avoir =F$10, pour bloquer la ligne 10.

Merci à tous !
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
23 juin 2010 à 17:31
- ou bien sélectionner toutes les cellules avant de faire la MFC, en considérant que les références saisies dans la formule de la MFC doivent être pour la cellule active de la sélection
- ou bien utiliser l'outil 'pinceau' qui ne recopie que les mises en forme
0