Pour un tableau, je cherche à mettre une formule différente selon certaines conditions.
Par exemple, dans la cellule J3, je souhaiterais que la formule fasse:
Si I3 < 0 alors J3 = 1
Si I3 > G3 alors J3 = 0
Si G3 = 0 alors
si $B$1 < F3 alors J3 = 0
si $B$1 >= F3 alors J3 = 1
Autrement J3 = =1-(I3/G3)
comme je ne suis pas sûr que ce soit très parlant, je joins un fichier exemple.
Salut,
Il s'agit effectivement d'une erreur, je n'ai pas uploadé le bon fichier.
J'ai ouvert une autre doscussion, car il s'agit d'une toute autre question.
A la fin c'est vrai que ce sera aussi pour exprimer l'avancement de mes projets, mais le problème est au niveau d'une formule de calcul et non sur un graphique.
Bonsoir.
Seulement après avoir vu de quoi il s'agissait plutôt que vos explications, je dirais En J3 :
Code:
=MIN(MAX($B$1;$E3);$F3+1)-$E3)/($F3-$E3+1)
Ou bien :
Code:
=(MIN(MAX($B$1+1;$E3);$F3+1)-$E3)/($F3-$E3+1)
Tout dépend si le moment du jour considéré est celui où on commence ou on termine de travailler. Ne pas oublier, dans le même ordre d'idée, que si le jour de fin est le même que celui de début, il compte pour 1 jour, pas 0, et plus généralement il faut toujours ajouter 1 à la différence Fin-Début pour avoir le nombre de jours couverts.
Remarquez, on peut faire un peu plus court, en J3 :
Hello,
Comme écris, la formule fonctionne parfaitement en "direct".
Est-il possible de l'utiliser en VBA?
Je souhaiterais que à partir d'une date donnée dans une variable (DateDeReference) il fasse le calcul ci dessus et mette le résultat dans la variable ProgressionTheorique
Quelque chose comme:
ProgressionTheorique =MIN(MAX((DateReference-Range("E" & i)+1)/(Range("F" & i)-Range("E" & i)+1);0);1)