gaston_nguyen
XLDnaute Nouveau
Bonjours à tous,
Je travaille sur un calcul de masse salariale sur Excel 2007 qui nécessite de déterminer combien de jours calendaires un salarié a été présent au cour de l’année civile 2009. Pour ce faire, on peut décompter a la main, mais ça devient vite rébarbatif quand on a une centaine de salarié.
J’ai donc réfléchi a un moyen d’automatiser la chose, j’ai mis au point une formule conditionnelle en Si et Et, mais l’une des conditions définis ne fonctionne pas, elle renvoie un résultat négatif et je n’arrive pas a trouver pourquoi. S’il y a parmi vous des experts d’Excel (niveau avancé), pourriez vous SVP m’éclairer ?
Je vous soumets ma problématique, pour mettre au point ma formule, je me réfère à 4 dates :
• Date de début d’année civile (01/01/2009) en cellule « E4 »
• Date de fin d’année civile (31/12/2009) en cellule « F4 »
• Date d’entrée du salarié dans l’entreprise en colonne « E »
• Date de sortie du salarié de l’entreprise en colonne « F »
J’émets ensuite 5 hypothèses que je vais saisir en colonne « G », c'est-à-dire là ou doit s’afficher le résultat de ma formule:
1) Si salarié entré avant ou au plus tard le 01/01/2009 et sorti avant le 31/12/2009, alors date de sortie – date de début d’année civile + 1
2) Si salarié entré avant ou au plus tard le 01/01/2009 et pas sorti, alors date de fin d’année civile – date de début d’année civile + 1
3) Si salarié entré après le 01/01/2009 et sorti avant ou au plus tard le 31/12/2009, alors date de sortie – date d’entrée + 1
4) Si salarié entré après le 01/01/2009 et pas sorti, alors date de fin d’année civile - date d’entrée + 1
5) Si aucune date d’entrée indiquée en colonne « E » et si aucune date de sortie indiquée en colonne « F », alors rien en colonne « G », sinon 0
Je transcris mes 5 hypothèses une par une et je les imbrique en les accolant les unes à la suite des autres :
1) Si(ET(date entrée<= date début année civile ; date sortie<= date fin année civile) ; date sortie – date début année civile + 1 ;
2) SI(ET(date entrée<= date début année civile ; date sortie= rien) ; date fin année civile – date début année civile + 1 ;
3) SI(ET(date entrée>date début année civile ; date sortie<= date fin année civile) ; date sortie – date entrée + 1 ;
4) SI(ET(date entrée>date début année civile ; date sortie=rien) ; date fin année civile – date entrée + 1 ;
5) SI(ET( date entrée= rien ; date sortie= rien) ; rien ; 0)))))
La formule créée ne donne pas les résultats escomptés pour 2 raisons :
• La transcription de la 2ème hypothèse ne fonctionne pas, elle affiche un résultat négatif
A titre d’exemple, j’ai saisi une date d’entrée au 01/07/2008 en « E8 » et aucune date de sortie en « F8 », j’obtiens un résultat de -39813 jours calendaires en « G8 », d’où vient l’erreur ?
• La transcription de ma 1ère condition fonctionne dans une certaine mesure.
Si je saisi une date d’entrée au 01/07/2008 en « E7 » et une date de sortie au 31/10/2009 en « F7 », le résultat qui s’affiche en « G7 » indique 304 jours calendaires, jusque là tout va bien. Par contre si je remplace ma date de sortie par 31/12/2009, ça bogue et ma cellule G7 affiche « FAUX ». A quoi cela est-il du ?
Je vous aurait bien mis mon fichier en pièce jointe, mais je n'y suis pas arrivé, le message d'erreur suivant s'est affiché quand j'ai essayé de le joindre à ce post: fichier non valide.
Pour en revenir à mon problème, si mon raisonnement ne tient pas la route et si vous pouvez m’aider à le solutionner, n’hésitez pas à me le faire savoir. Toute intervention sera la bienvenue.
Merci d’avance
Je travaille sur un calcul de masse salariale sur Excel 2007 qui nécessite de déterminer combien de jours calendaires un salarié a été présent au cour de l’année civile 2009. Pour ce faire, on peut décompter a la main, mais ça devient vite rébarbatif quand on a une centaine de salarié.
J’ai donc réfléchi a un moyen d’automatiser la chose, j’ai mis au point une formule conditionnelle en Si et Et, mais l’une des conditions définis ne fonctionne pas, elle renvoie un résultat négatif et je n’arrive pas a trouver pourquoi. S’il y a parmi vous des experts d’Excel (niveau avancé), pourriez vous SVP m’éclairer ?
Je vous soumets ma problématique, pour mettre au point ma formule, je me réfère à 4 dates :
• Date de début d’année civile (01/01/2009) en cellule « E4 »
• Date de fin d’année civile (31/12/2009) en cellule « F4 »
• Date d’entrée du salarié dans l’entreprise en colonne « E »
• Date de sortie du salarié de l’entreprise en colonne « F »
J’émets ensuite 5 hypothèses que je vais saisir en colonne « G », c'est-à-dire là ou doit s’afficher le résultat de ma formule:
1) Si salarié entré avant ou au plus tard le 01/01/2009 et sorti avant le 31/12/2009, alors date de sortie – date de début d’année civile + 1
2) Si salarié entré avant ou au plus tard le 01/01/2009 et pas sorti, alors date de fin d’année civile – date de début d’année civile + 1
3) Si salarié entré après le 01/01/2009 et sorti avant ou au plus tard le 31/12/2009, alors date de sortie – date d’entrée + 1
4) Si salarié entré après le 01/01/2009 et pas sorti, alors date de fin d’année civile - date d’entrée + 1
5) Si aucune date d’entrée indiquée en colonne « E » et si aucune date de sortie indiquée en colonne « F », alors rien en colonne « G », sinon 0
Je transcris mes 5 hypothèses une par une et je les imbrique en les accolant les unes à la suite des autres :
1) Si(ET(date entrée<= date début année civile ; date sortie<= date fin année civile) ; date sortie – date début année civile + 1 ;
2) SI(ET(date entrée<= date début année civile ; date sortie= rien) ; date fin année civile – date début année civile + 1 ;
3) SI(ET(date entrée>date début année civile ; date sortie<= date fin année civile) ; date sortie – date entrée + 1 ;
4) SI(ET(date entrée>date début année civile ; date sortie=rien) ; date fin année civile – date entrée + 1 ;
5) SI(ET( date entrée= rien ; date sortie= rien) ; rien ; 0)))))
La formule créée ne donne pas les résultats escomptés pour 2 raisons :
• La transcription de la 2ème hypothèse ne fonctionne pas, elle affiche un résultat négatif
A titre d’exemple, j’ai saisi une date d’entrée au 01/07/2008 en « E8 » et aucune date de sortie en « F8 », j’obtiens un résultat de -39813 jours calendaires en « G8 », d’où vient l’erreur ?
• La transcription de ma 1ère condition fonctionne dans une certaine mesure.
Si je saisi une date d’entrée au 01/07/2008 en « E7 » et une date de sortie au 31/10/2009 en « F7 », le résultat qui s’affiche en « G7 » indique 304 jours calendaires, jusque là tout va bien. Par contre si je remplace ma date de sortie par 31/12/2009, ça bogue et ma cellule G7 affiche « FAUX ». A quoi cela est-il du ?
Je vous aurait bien mis mon fichier en pièce jointe, mais je n'y suis pas arrivé, le message d'erreur suivant s'est affiché quand j'ai essayé de le joindre à ce post: fichier non valide.
Pour en revenir à mon problème, si mon raisonnement ne tient pas la route et si vous pouvez m’aider à le solutionner, n’hésitez pas à me le faire savoir. Toute intervention sera la bienvenue.
Merci d’avance
Dernière édition: