Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Formule conditionelle avec 3 conditions

  • Initiateur de la discussion Initiateur de la discussion Fab117
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Fab117

XLDnaute Impliqué
Hello,

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.

Merci d'avance.

Fab
 

Pièces jointes

  • Exemple2.jpg
    38.9 KB · Affichages: 34
  • Exemple2.jpg
    38.9 KB · Affichages: 32
Re : Formule conditionelle avec 3 conditions

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.

Excellent week-end.

Fab
 

Pièces jointes

Re : Formule conditionelle avec 3 conditions

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 :
Code:
=MIN(MAX(($B$1-$E3+1)/($F3-$E3+1);0);1)
 
Dernière édition:
Re : Formule conditionelle avec 3 conditions

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)

Est-ce que tu saurais comment faire ?

Bon après-midi

Fab
 
Re : Formule conditionelle avec 3 conditions

Bonsoir.
VB:
ProgressionTheorique = worksheetfunction.MIN(worksheetfunction.MAX((DateReference-cells(i,"E").value+1)/(cells(i,"F").value-cells(i, "E").value+1),0),1)
Ou si on a pris soin de charger E:F dans un tableau en mémoire pour une bien meilleure performance :
VB:
TS(L, 1) = WorksheetFunction.Min(WorksheetFunction.Max((DateReference - TE(L, 1) + 1) / (TE(L, 2) - TE(L, 1) + 1), 0), 1)
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Aide formule Excel
Réponses
18
Affichages
913
Réponses
6
Affichages
422
Réponses
20
Affichages
842
Réponses
3
Affichages
390
Réponses
2
Affichages
335
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…