Calc cellule 1 si la date est calculer les dépassé
Utilisez ce calculateur premium pour savoir si une échéance est dépassée, combien de jours de retard sont constatés, et quelle valeur retourner dans une cellule de type Excel ou Google Sheets. Le principe est simple : si la date de référence dépasse la date limite, la cellule renvoie 1, sinon 0. Vous pouvez aussi intégrer un délai de grâce et choisir votre logique de comparaison.
Veuillez renseigner la date limite et la date de référence.
'; return; } const deadlineDate = new Date(deadlineValue + 'T00:00:00'); const referenceDate = new Date(referenceValue + 'T00:00:00'); const adjustedDeadline = addDays(deadlineDate, graceDays); const comparisonDays = diffInDays(referenceDate, adjustedDeadline); const isOverdue = logicMode === 'inclusive' ? comparisonDays >= 0 : comparisonDays > 0; const overdueDays = isOverdue ? Math.max(0, comparisonDays) : 0; const daysRemaining = isOverdue ? 0 : Math.abs(comparisonDays); const rawDifference = diffInDays(referenceDate, deadlineDate); let cellOutput; if (outputMode === 'binary') { cellOutput = isOverdue ? 1 : 0; } else if (outputMode === 'days') { cellOutput = overdueDays; } else { cellOutput = isOverdue ? 'Dépassé' : 'À temps'; } let badgeClass = 'wpc-badge-success'; let statusText = 'À temps'; if (isOverdue) { badgeClass = 'wpc-badge-danger'; statusText = 'Dépassé'; } else if (daysRemaining <= 3) { badgeClass = 'wpc-badge-warning'; statusText = 'Échéance proche'; } resultsBox.innerHTML = 'Règle appliquée : ' + (logicMode === 'inclusive' ? 'date de référence >= date limite ajustée' : 'date de référence > date limite ajustée') + '.
' + 'Lecture : si la date de référence du ' + formatDate(referenceDate, dateFormat) + ' ' + (isOverdue ? 'dépasse' : 'ne dépasse pas') + ' la date limite ajustée du ' + formatDate(adjustedDeadline, dateFormat) + ', la sortie renvoyée est ' + cellOutput + '.
'; renderChart(daysRemaining, graceDays, overdueDays); } calcBtn.addEventListener('click', calculate); resetBtn.addEventListener('click', function () { deadlineInput.value = ''; graceInput.value = '0'; logicModeInput.value = 'strict'; outputModeInput.value = 'binary'; dateFormatInput.value = 'fr'; setToday(); updateFormulaPreview(); resultsBox.innerHTML = 'Renseignez les champs puis cliquez sur Calculer pour voir le statut, la valeur de cellule et le graphique.'; if (wpcChartInstance) { wpcChartInstance.destroy(); wpcChartInstance = null; } }); graceInput.addEventListener('input', updateFormulaPreview); logicModeInput.addEventListener('change', updateFormulaPreview); outputModeInput.addEventListener('change', updateFormulaPreview); setToday(); updateFormulaPreview(); renderChart(0, 0, 0); })();