Re : Calcul avec condition
julescesar75 à dit:
Bonjour et merci pour ta réponse
Ce que je cherche exactement c'est que l'attribution se fasse jusqu'à atteindre
le nombre total de poste prévu en D19.
Nous avons un premier résultat (dans l'exemple 9 postes) D51
Un nouveau poste est attribué à "C" qui en possède déjà 2, donc total E46= 3
et ainsi de suite.
Peux t on arrêter les attributions dès que la somme de E44 à E50 aura atteind
le nombre de poste en D19.
Je ne maîtrise pas du tout les macros, vba ect...
Si quelqu'un peut m'aider sur mon fichier se serai SUPER SYMPA!
Cordialement
Salut
Si tu ne maîtrise pas VBA, on peut s'en passer
Ce que je comprends :
la plage (E44:E50) est la synthèse des des tableaux
E51 est le total de la plage
Plutôt que de passer par du code, pourquoi ne pas mettre une MFC à 2 conditions :
condition 1
Case 1 : la formule est
Case 2 : =$E$51>$D$19
format fond rouge
condition 2
Case 1 : la formule est
Case 2 : =$E$51=$D$19
format fond vert
tu appliques la mise en forme conditionnelle à
D19, E51
mais aussi à toutes les en-têtes des tableaux d'attribution des sièges : comme ça, tu es au courant dès l'erreur
Tes formules me semblent assez bizarre
E44 : =SOMME(C44+C57+C68+C80+C92)
c'est pas faux, mais redondant : tu peux simplifier en
=SOMME(C44;C57;C68;C80;C92) ou en
=C44+C57+C68+C80+C92
D44 : =SI(C44<1;"0";SI(C44>=1;C44*1)) ?!?
si C44 n'est pas inférieur à 1, il est supérieur ou égal = 1
C44 est un nombre => C44 × 1 = C44
donc on peut écrire, en gardant le si :
=SI(C44<1;"0";C44)
ou en utilisant les propriétés de la logique Excel
=(C44>=1)*C44
si C44>=1 : (C44>=1)=VRAI=1
si C44<1 : (C44>=1)=FAUX=0
A+
PS c'est pas une critique puisque ton code marche, mais tant qu'à utiliser des formules, autant avoir la syntaxe la plus "propre".