Avec des SI on pourrait

Bonjour,

Je cherche à savoir et je pense que oui si il y a un moyen de réduire cette formule et à y apporter une petite modif.

=SI(B5="lun";$A$1;SI(B5="mar";$A$1;SI(B5="mer";$B$1;SI(B5="jeu";$A$1;SI(B5="ven";$A$1;""))))) 

La modif , si la cellule qui suit, pour l'exemple c'est la colonne "D" est rouge mettre "10:00" au lieu de "5:30" pour avoir "10:00" partout

Avec un petit fichier en exemple, c'est mieux

Merci et bon week

17si-si-sauf-si.xlsx (11.40 Ko)

Bonjour bayard,

Voilà une version raccourcie de la formule

=SI(OU(B5="sam";B5="dim");"";SI(B5="mer";$B$1;$A$1))

Bonjour le forum,

Sans SI on pourrait aussi :

=(OU(B5="lun";B5="mar";B5="jeu";B5="ven"))*$A$1+((B5="mer")*$B$1)

Bonjour,

si la cellule qui suit, pour l'exemple c'est la colonne "D" est rouge mettre "10:00" au lieu de "5:30" pour avoir "10:00" partout

Change de technique, on ne peut pas tester une couleur sans vba.

Met un x dedans que tu peux tester dans ta formule, et met le rouge par une MFC sur ce x.

eric

Bonjour bayard, le forum,

Je te retourne ton fichier modifié :

9si-si-sauf-si.xlsm (17.37 Ko)

Tu verras qu'en B1, j'ai mis 9:00 au lieu de 10:00 ; c'est pas une fausse manip : je l'ai fait tout exprès pour que tu voies que le 10:00 pour les cellules rouges n'est pas ton 10:00 de B1 : le 10:00 est dans le code VBA, et il est indépendant de A1 et B1.

IMPORTANT !

Pour D5:D18, si tu fais un changement (mettre du rouge ou l'enlever), tu dois appuyer sur la touche F9 pour actualiser les heures !


Alt F11 pour voir le code VBA, puis revenir sur Excel

Si besoin, tu peux demander une adaptation.

Merci de me dire si ça te convient.

tu voudras bien m'excuser si j'ai réussi à mettre Paris en bouteille !

bon weekend à toi aussi.

dhany

Bonjour,

Merci à vous trois, encore du bon boulot.

Bonne fin de week-end.

Edit: A vous quatre, j'avais oublié Eriiic

Bonjour eriiic,

Tu a écrit :

on ne peut pas tester une couleur sans vba

c'est exact ; j'connais vraiment pas bien la programmation des modules de classe, mais il me semble que toi, tu la connais bien ; alors peux-tu ajouter la détection d'un changement de la couleur de remplissage d'une cellule comme il y a déjà la détection d'un changement de valeur d'une celllule ? on pourrait alors mettre :

Private Sub Worksheet_ColorChange(ByVal Target As Range)
  ' code si détection changement couleur fond cellule
End Sub

ça serait drôlement pratique ! et c'est si souvent demandé qu'ça aurait un succès fou !


j'ai trouvé qu'le début : pour déclarer un nouvel événement : Event ColorChange(ByVal Target As Range)

mais pour qu'ça détecte le changement d'couleur de fond pour n'importe quelle cellule de la feuille :

dhany

Bonjour,

oui dhany, j'avais bien lu.

Je n'ai pas répondu parce que :

1) je ne pratique pas les modules de classes

2) et surtout c'est le type même de mauvaise bonne idée à mon goût.

Les couleurs servent à attirer l'attention sur un point et c'est tout. Surtout pas à transporter une information puisqu'excel n'est pas conçu pour.

L'info c'est une valeur ("x" ou ce que tu veux) dans une cellule avec laquelle on pourra très facilement travailler, et accessoirement servir pour une MFC si besoin est.

Pas de nécessité de plus à mon avis.

eric

Bonjour eriiic,

Merci pour ta réponse et toutes tes infos.

Tant pis pour la détection automatique de couleur, et je me range

à ton avis quand tu écris : « Pas de nécessité de plus » !

dhany

Rechercher des sujets similaires à "pourrait"