Dans formule colorier Cellule SANS Conditions

Bonsoir,

Sans passer par le conditionnal formating, comment peut-on donner une couleur à une cellule?

En deux mots, voici la situation:

J'utilise une différence de deux valeurs d'heures. (Format du résultat : jj" j "hh:mm" h")

Si c'est négatif, ça affiche des ########### ET si je modifie l'option à 1904 ça me marque une valeur fausse de 1 jour de plus.

Ne voulant pas soustraire 1 jour (bricolage), je cherche simplement à modifier le fond de la cellule car je peux savoir que la valeur sera négative et en utilisant ABS() le résultat est bon car il devient POSITIF, mais j'aimerais y ajouter la couleur rouge pour que ça saute aux yeux.

Voici la formule: =IF(I28="";"";IF(J28-H28<0; ABS(J28-H28);J28-H28))

J'aimerais rajouter à ; ABS(J28-H28); la couleur de fond de la cellule en cours.

En VBA c'est possible, mais je n'arrive pas à trouver comment donner l'ordre depuis une formule.

Merci pour votre aide.

Bonjour,

à la place tu peux afficher les heures + en numérique et - en texte :

=SI(C2<0;"-"&TEXTE(-C2;"[h]:mm");C2)

Tu masques C mais tu continues à l'utiliser pour les calculs ultérieurs car les valeurs sont bonnes, par contre l'affichage en texte n'est pas utilisable pour les calculs.

eric

Merci Eriiic,

OUI, je l'ai déjà fait et ça fonctionne.

Mais pour moi le plus important est de colorer la cellule en rouge et ça je ne sais pas le faire. As-tu une idée?

Et ce serait bien d'avoir la liste des codes de couleur, pour pouvoir rétablir le blanc ou en vert si la valeur redevient positive.

Question subsidiaire: a quoi servent les accolades autour du [hh]? J'avais déjà essayé en pensant que les heures ne serait pas affichée lorsque la valeur serait 0, mais non ça continue à afficher 00!

Bonne journée.

Bonjour,

Utilise une MFC (mise en forme conditionnelle)

Question subsidiaire: a quoi servent les accolades autour du [hh]

A afficher un temps en heures supérieur à 24:00

Si tu as 36h, le format hh:mm t'affiche l'heure : 12:00 (midi du 2nd jour), le format [hh]:mm t'affichera 36:00.

Pour ne pas afficher 0 :

  • pour toutes la feuille : le décocher dans les options avancées
  • pour une plage : mettre le format personnalisé : Standard;Standard;

eric

Eric,

Je ne peux pas utiliser le MFC, car le résultat est toujours POSITIF (Usage de ABS()). Car si j'affiche le négatif, j'aurais des ########. Et je sais que ça fonctionne car ça donne ça #########

Une autre piste serait d'écrire cette formule : =SI(C2<0;"- "&TEXTE(C2;"[h]:mm");C2)

Et de tester dans le MFC les caractères "- " . Mais là non plus je ne sais pas comment faire?

Merci pour les 36h.

Le reste je le testerais après, là je suis la bourre...

Quand on a des ###########, ça veut dire qu'Excel a du mal à afficher le résultat, mais il fait le calcul quand même !

Du coup, on peut tester la différence, et mettre -1 si c'est négatif.

=si(Fin-Début<0;-1;Fin-Début)

Le résultat peut ensuite se traiter avec les MFC (dont le résultat -1 en rouge...)

Je ne peux pas utiliser le MFC, car le résultat est toujours POSITIF

Le résultat avec abs(), pas l'opération J28-H28...

Sinon tu n'as pas besoin d'écrire IF(J28-H28<0; ABS(J28-H28);J28-H28))

ABS(J28-H28) suffit

eric

Dan42153 a écrit :

Du coup, on peut tester la différence, et mettre -1 si c'est négatif.

=si(Fin-Début<0;-1;Fin-Début)

Le résultat peut ensuite se traiter avec les MFC (dont le résultat -1 en rouge...)

Si je fais ça, on verra -1 et non la valeur en heure du déficit!

Si je remplace -1 par Fin-Début, ça me donnera des #############

C'est pour ça que je teste le calcul et que j'utilise ABS() pour rendre positif le résultat et de ce fait éviter les #, mais il me faut AUSSI ajouter un ordre de coloration pour la cellule lorsqu'elle est négative.

Je pense que le MFC ne peut pas faire ça car la valeur affichée seras toujours POSITIVE. C'est dans la formule que je sais qu'elle est négative et c'est donc là que je dois ajouter un ordre permettant de colorer la cellule en rouge tout en affichant un nombre positif.

Est-ce que cet ordre ou fonction existe?

Merci par avance...

Tu as oublié de lire au-dessus...

12ajpvjose.xlsx (10.94 Ko)

Suggestion avec MFC en PJ...

9ajpvjose.xlsx (10.92 Ko)

Suggestion mise à jour avec la remarque (judicieuse !) d'Eriiiiic

Merci pour vos réponses, mais je vais reformulé ma question, pour nous concentrer que sur un seul point.

Pour commencer, oublions le MFC.

La question:

Comment colorier une cellule, sans conditions, depuis une formule excel?

Est-ce possible?

Merci et bonne journée.

Pas de VBA, pas de MFC ? Même en criant très fort, pas sûr que tu obtiennes une réponse... Bonne chance

Bonjour,

tu as eu plusieurs propositions qui fonctionnent.

A partir de maintenant il faut que tu programmes ton propre excel qui fonctionnera selon tes souhaits. En plus tu gagneras plein d'argent.

eric

Dan42153 a écrit :

Suggestion avec MFC en PJ...

Aïe yayaï!!!

Je débute sur votre site et je n'avais pas vu qu'il y avait un fichier attaché!!! VERY SORRY

Dan je te remercie car ton exemple est parfaitement clair et j'ai réussi à résoudre mon problème.

Pour celles et ceux qui veulent concrètement voir le résultat, je vous mets une copie d'écran:

Le test, vert, correspond à un petit écart de +/- 2 minutes. On peut diminuer cette valeur, mais ne pas mettre =0 à cause des erreurs d'arrondi. Si non Ce ne sera jamais =0 et donc jamais vert.

Il faut mettre ce test, impérativement au début, pour pouvoir afficher le vert proche du 0. Car comme pour le CASE statment, dès que la première condition est vraie, les autres ne sont plus testées.

Voilà, je vous remercie toutes et tous pour votre collaboration et je vous souhaite de bonnes et agréables vacances.

conditionalformatting ok
Rechercher des sujets similaires à "formule colorier conditions"