cs_Liro
Messages postés159Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention30 septembre 2011
-
24 mai 2008 à 14:58
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
26 mai 2008 à 11:33
Bonjour,
Dans mon code j'impose une mise en forme conditionnelle du genre:
Si valeur de la cellule est différente de valeur de la cellule colonne D alors police en gras et fond de la cellule ne jaune.
Voici mon code:
Range("I19").Select
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlNotEqual, _
Formula1:="=D19"
With Selection.FormatConditions(1).Font
.Bold = True
.Italic = False
End With
Selection.FormatConditions(1).Interior.ColorIndex = 36
Le problème c'est qu'une fois la macro lancée si je vais dans Format> mise en forme conditionnelle la formule est ="D19".
Donc si je tire la mise en forme vers les cellule du bas la référence reste D19 or je voudrais incrémenter.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 mai 2008 à 17:38
Je n'ai pas bien compris. Comment applique-tu ta mise en forme ?
Le fait tu à travers un code VBA, ou le fais-tu manuellement sur ta cellule par les menus et fonctions classique d'Excel.
Si tu le fais de manière classique, il faut que tu fasse attention à ce qu'Excel ne t'enregistre pas une référence de cellule absolue dans la formule comm il le fait par défaut. Si dans la formule Excel te met $D$19, lorsque tu fera glisser ta formule, cette référence ne sera pas changée. Par contre si tu modifie pour que ce soitD19, lorsque tu glissera ta formule, cette référence sera automatiquement incrémentée.
Par contre, si tu le fais par code, ça va etre à toi d'incrémenter manuellement la cellule dans ta formule.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 24 mai 2008 à 19:22
Salut,
attention, une mise en forme conditionnelle n'est pas une fonction et ne peut donc pas s'incrémenter.
dans tes cellules, il y a des valeurs, pas de =machin(bidule;trucc), mais du texte ou un nombre.
Donc comme le dit Casy,
si tu le fais par code, ça va etre à toi d'incrémenter manuellement la cellule dans ta formule (par formule il faut comprendre Mise en forme conditionnelle)
Par contre, en mode NON code, en le faisant manuellement pour un fichier du boulot, il me semble avoir vu que l'on était limité à 3 mises en forme conditionnelles, donc je ne sais pas comment va réagir le code si tu en fais plus
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 24 mai 2008 à 20:32
"...une mise en forme conditionnelle n'est pas une fonction et ne peut donc pas s'incrémenter...."
C'est pourtant ce qu'elle fait correctement dans les conditions que j'ai indiquer quand on clique sur le petit carré dans l'angle de la cellule et que l'on glisse la slélection sur d'autres cellules comme lors de la propagation d'une formule ou d'une valeur.
Bien sur que ce n'est pas une formule, mais il ya bien un "= machin". Il apparait dans la condition de test de la mise en forme (zone de droite dans l'assistant d'Excel2003).
" ...limité à 3 mises en forme conditionnelles... "
C'est par cellule ou sur une feuille ????
Par cellule je pense. Mais ici, si j'ai bien compris le code de Liro, il n'aura qu'une mise en forme par cellule, par contre il souhaite propager cette mise en forme sur un ceratin nombres de cellules.
cs_Liro
Messages postés159Date d'inscriptionjeudi 7 septembre 2006StatutMembreDernière intervention30 septembre 2011 24 mai 2008 à 23:03
J'ai l'impression que nous partons sur une mauvaise piste...
J'ajoute via mon code une mise en forme conditionnelle (donc en vba).
Bienque en vba je mette une référence relative du type "=D19" et non pas "=$D$19" lorsque je recopie la mise en forme de cette cellule la valeur enregistrée est et reste "=$D$19".
C'est très bizard, je suis sous excel 2000 (si ça peut avoir une influence...).
Liro
Vous n’avez pas trouvé la réponse que vous recherchez ?