@npod ; réf. P05
dans ton fichier initial, voici tes formules de la ligne 4, colonnes E à H :
* en E4 : =SI((OU(JOURSEM(C4)=2;JOURSEM(C4)=1));"";$E$2)
que tu aurais pu écrire sans 2 parenthèses inutiles :
=SI(OU(JOURSEM(C4)=2;JOURSEM(C4)=1);"";$E$2)
* en F4 : =SI((OU(JOURSEM(C4)=2;JOURSEM(C4)=1));"";(D4-E4))
que tu aurais pu écrire sans 4 parenthèses inutiles :
=SI(OU(JOURSEM(C4)=2;JOURSEM(C4)=1);"";D4-E4)
* en G4 : =SI((OU(JOURSEM(C4)=2;JOURSEM(C4)=1));"";$G$2)
que tu aurais pu écrire sans 2 parenthèses inutiles :
=SI(OU(JOURSEM(C4)=2;JOURSEM(C4)=1);"";$G$2)
* en H4 : =SI((OU(JOURSEM(C4)=2;JOURSEM(C4)=1));"";(D4-G4))
que tu aurais pu écrire sans 4 parenthèses inutiles :
=SI(OU(JOURSEM(C4)=2;JOURSEM(C4)=1);"";D4-G4)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
regarde ton test OU(JOURSEM(C4)=2;JOURSEM(C4)=1) ; c'est correct,
mais il y a bien plus simple : JOURSEM(C4) retourne un nombre entier,
de 1 (= dimanche) à 7 (= samedi) ; ainsi, tu as : 1 pour dimanche ; 2
pour lundi ; 3 à 7 pour les autres jours ; donc tu peux mettre ce test :
JOURSEM(C4)<3 ; ça donnerait (sans OU) :
* en E4 : =SI(JOURSEM(C4)<3;"";$E$2)
* en F4 : =SI(JOURSEM(C4)<3;"";D4-E4)
* en G4 : =SI(JOURSEM(C4)<3;"";$G$2)
* en H4 : =SI(JOURSEM(C4)<3;"";D4-G4)
c'est plus simple, non ? je te laisse vérifier que « <3 » c'est forcément
1 ou 2 (donc pour dimanche ou lundi). ;)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
même avec cette simplification de tes formules, note bien qu'il y a 4 fois
JOURSEM(C4) ; et que ça sera répété sur toutes les lignes en dessous
suite à l'extension des formules ; en supposant que les mois auraient
tous 28 jours, ça ferait : 28 lignes × 4 formules avec JOURSEM(...) =
112 fois JOURSEM(...) ! :(
c'est pour ça que dans mon fichier, j'ai ajouté la colonne D "js" :
* en D4 : =JOURSEM(C4)
* en F4 : =SI(D4<3;"";$F$2)
* en G4 : =SI(D4<3;"";E4-F4)
* en H4 : =SI(D4<3;"";$H$2)
* en i4 : =SI(D4<3;"";E4-H4)
(formules étendues en dessous jusqu'au dernier jour du mois)
ainsi, JOURSEM(...) est uniquement en colonne D ; avec la même
supposition faite plus haut, ça ferait 28 fois JOURSEM(...) au lieu de
112 fois JOURSEM(...) ! ça allège, hein ? :)
quand tu auras bien compris le système utilisé, tu pourras plus tard
masquer la colonne D ; masquer = cacher ; pas supprimer ! ;)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
attention pour le mois de février : colonne D et colonnes F à i :
a) des lignes 4 à 31 : c'est idem que ce qu'on vient de voir.
b) en ligne 32, qui est pour un éventuel 29 février (s'il exite) :
* en D32 : =SI(B32="";"";JOURSEM(C32))
* en F32 : =SI(B32="";"";SI(D32<3;"";$F$2))
* en G32 : =SI(B32="";"";SI(D32<3;"";E32-F32))
* en H32 : =SI(B32="";"";SI(D32<3;"";$H$2))
* en i32 : =SI(B32="";"";SI(D32<3;"";E32-H32))
ainsi, sans utiliser la fonction SIERREUR(), c'est « SI(B32="";"";...) »
qui évite le message d'erreur « #VALEUR! », car rappelle-toi que pour
B32 : =SI(MOIS(DATE(A1;2;29))=2;29;"") ➯ 29 ou rien.
rhodo