Déterminez facilement votre stade de grossesse et votre date d'accouchement prévue.
Votre Calculateur de Grossesse
Entrez la date exacte du début de vos dernières règles.
Si vous connaissez déjà le nombre de semaines, entrez-le ici. Sinon, laissez vide.
Entrez le nombre de jours supplémentaires après les semaines complètes (0-6).
Votre Stade de Grossesse
—
Date d'Accouchement Prévue (DAP)—
Âge Gestationnel (Jours)—
Trimestre Actuel—
La semaine de grossesse est calculée en ajoutant 280 jours (40 semaines) à la date du premier jour de vos dernières règles (DDR).
Si l'âge gestationnel est déjà connu, il est utilisé directement. Le trimestre est déterminé en fonction du nombre total de jours écoulés.
Progression de la grossesse en semaines
Récapitulatif des Semaines de Grossesse
Semaine de Grossesse
Âge Gestationnel (Jours)
Trimestre
Statut
Tableau récapitulatif du développement semaine par semaine.
Qu'est-ce que le Calcul de Semaine de Grossesse ?
Le calcul de semaine de grossesse est une méthode fondamentale pour suivre l'évolution d'une grossesse. Il permet de déterminer précisément à quel stade de développement se trouve le fœtus et d'estimer la date d'accouchement prévue. Cette information est cruciale pour les futurs parents, les professionnels de santé et pour s'assurer que la grossesse progresse normalement. Il est basé sur la durée standard d'une grossesse, qui est d'environ 40 semaines (ou 280 jours) à partir du premier jour des dernières règles.
Qui devrait utiliser ce calcul ? Toutes les femmes enceintes, dès la confirmation de leur grossesse, devraient connaître leur semaine de grossesse. Les professionnels de santé (gynécologues, sages-femmes) l'utilisent quotidiennement pour le suivi, la planification des rendez-vous et des examens (échographies, bilans sanguins). Les futurs parents s'en servent pour mieux comprendre les étapes du développement de leur bébé, anticiper les changements physiques et émotionnels, et préparer l'arrivée.
Idées fausses communes : Une idée fausse fréquente est que la semaine de grossesse commence à la conception. En réalité, le calcul standard prend comme point de départ les dernières règles, ce qui signifie que les deux premières semaines ne correspondent pas encore à une grossesse effective mais à la préparation du corps. Une autre idée reçue est que toutes les grossesses durent exactement 40 semaines ; en réalité, une grossesse à terme se situe entre 37 et 42 semaines, et la date d'accouchement est une estimation.
Formule et Explication Mathématique du Calcul de Semaine de Grossesse
La méthode la plus couramment utilisée pour calculer l'âge gestationnel est basée sur la règle de Naegele, qui estime la date d'accouchement et le stade de la grossesse à partir de la date du premier jour des dernières règles (DDR).
Semaines de Grossesse = (Date Actuelle - DDR) / 7 jours
En pratique, le calculateur détermine le nombre total de jours entre la DDR et la date actuelle, puis divise ce nombre par 7 pour obtenir le nombre de semaines et de jours. Si l'utilisateur fournit directement le nombre de semaines et de jours, ces valeurs sont utilisées pour les calculs des trimestres et de la DAP.
Explication des variables :
Variable
Signification
Unité
Plage Typique
DDR
Premier jour des dernières règles
Date
Date spécifique
Date Actuelle
Date du jour du calcul
Date
Date spécifique
DAP
Date d'accouchement prévue
Date
Date spécifique (environ DDR + 280 jours)
Âge Gestationnel (Semaines)
Durée de la grossesse en semaines complètes
Semaines
0 – 42+
Âge Gestationnel (Jours)
Nombre de jours dans la semaine de grossesse en cours
Jours
0 – 6
Jours Totaux Écoulés
Nombre total de jours depuis la DDR
Jours
Variable
Trimestre
Période de la grossesse (1er, 2ème, 3ème)
Catégorie
1er, 2ème, 3ème
Exemples Pratiques d'Utilisation
Exemple 1 : Calcul basé sur la DDR
Situation : Une femme, appelons-la Sophie, a eu le premier jour de ses dernières règles le 15 mars 2024.
Calcul :
Entrée : DDR = 15 mars 2024
Le calculateur détermine le nombre de jours jusqu'à aujourd'hui (supposons le 20 mai 2024).
Nombre de jours écoulés = 66 jours.
Semaines de grossesse = 66 / 7 = 9 semaines et 3 jours.
DAP = 15 mars 2024 + 40 semaines = 22 décembre 2024.
Résultats :
Stade de grossesse : 9 semaines et 3 jours.
DAP : 22 décembre 2024.
Trimestre : 1er trimestre.
Interprétation : Sophie est dans son premier trimestre de grossesse et devrait accoucher vers la fin de l'année. Elle peut commencer à se renseigner sur les préparatifs.
Exemple 2 : Utilisation directe des semaines
Situation : Marc et Julie savent qu'ils sont à 25 semaines et 5 jours de grossesse, et ils veulent connaître leur DAP et leur trimestre.
Calcul :
Entrée : Semaines = 25, Jours = 5
Le calculateur utilise ces valeurs directement.
Pour trouver la DAP, il faudrait connaître la DDR correspondante (ou calculer à rebours, ce qui est moins fiable sans la DDR). Si on suppose une DDR, on peut vérifier la cohérence. Si on utilise la formule inverse : 25 semaines et 5 jours depuis DDR, cela donne une certaine date.
DAP (calculée à partir de 40 semaines complètes) : si 25s 5j est l'âge actuel, il reste 40s – 25s 5j = 14s 2j avant la DAP.
Résultats :
Stade de grossesse : 25 semaines et 5 jours.
DAP : (Estimée en fonction des jours restants) Environ 14 semaines et 2 jours après la date actuelle.
Trimestre : 3ème trimestre.
Interprétation : Le couple est bien avancé dans sa grossesse, entrant dans le dernier trimestre. Il est temps de finaliser les derniers préparatifs et de penser au congé maternité.
Comment Utiliser Ce Calculateur de Semaine de Grossesse
Notre calculateur est conçu pour être simple et intuitif. Voici comment l'utiliser pour obtenir vos informations de grossesse :
Entrez la Date du Premier Jour de Vos Dernières Règles (DDR) : C'est le moyen le plus courant et le plus précis pour estimer votre grossesse. Assurez-vous d'entrer la date exacte.
(Optionnel) Entrez les Semaines et Jours Connus : Si vous avez déjà une estimation de votre âge gestationnel fournie par un professionnel de santé, vous pouvez entrer directement le nombre de semaines et de jours. Laissez le champ DDR vide dans ce cas pour éviter les conflits de calcul.
Cliquez sur "Calculer" : Le calculateur mettra à jour instantanément les résultats.
Comment lire les résultats :
Âge Gestationnel : Indique combien de semaines et de jours se sont écoulés depuis votre DDR.
Date d'Accouchement Prévue (DAP) : C'est la date estimée où le bébé devrait naître. Elle est calculée en ajoutant 40 semaines à votre DDR.
Trimestre : Votre grossesse est divisée en trois trimestres, chacun marquant des étapes clés du développement.
Tableau et Graphique : Ces éléments visuels vous donnent un aperçu détaillé de la progression et des caractéristiques de chaque semaine.
Guidage pour la prise de décision : Les informations fournies par le calculateur peuvent vous aider à planifier vos rendez-vous médicaux, à comprendre les étapes de développement de votre bébé, et à anticiper les changements physiologiques que vous pourriez ressentir. Il est toujours recommandé de discuter de ces estimations avec votre médecin ou sage-femme.
Facteurs Clés Affectant les Résultats du Calcul de Semaine de Grossesse
Bien que le calcul de semaine de grossesse soit standardisé, plusieurs facteurs peuvent influencer l'interprétation ou la précision de l'estimation, notamment si la DDR est incertaine.
Régularité du Cycle Menstruel : La méthode DDR suppose un cycle régulier de 28 jours. Si vos cycles sont plus longs ou plus courts, l'âge gestationnel calculé peut être décalé. Une échographie précoce est souvent utilisée pour ajuster le calcul dans ces cas.
Précision de la Date DDR : Les femmes ayant des cycles irréguliers, des règles imprévisibles, ou celles qui ne se souviennent pas précisément de leur DDR peuvent obtenir une estimation moins fiable.
Moment de l'Ovulation : L'ovulation peut survenir à différents moments du cycle, surtout s'il est irrégulier. Le calcul standard suppose une ovulation autour du 14ème jour, ce qui n'est pas toujours le cas.
Conception Tardive ou Précoce : Suite à une fécondation in vitro (FIV), l'âge gestationnel peut être calculé différemment, basé sur la date de la procédure ou de la ponction d'ovules.
Variabilité Biologique : Chaque grossesse est unique. La durée réelle peut varier légèrement autour des 40 semaines. Le terme est généralement considéré comme étant entre 37 et 42 semaines.
Consultations Médicales Précoces : Une échographie effectuée au premier trimestre (idéalement avant 12 semaines d'aménorrhée) est la méthode la plus précise pour dater une grossesse, car elle mesure la taille de l'embryon ou du fœtus.
Foire Aux Questions (FAQ)
Quand dois-je utiliser le calcul basé sur la DDR par rapport aux semaines connues ?
Utilisez la DDR comme première option si vous la connaissez avec certitude. Si un professionnel de santé vous a déjà donné un âge gestationnel précis (en semaines et jours), vous pouvez l'utiliser directement dans les champs correspondants pour une confirmation ou un suivi plus fin.
Ma date d'accouchement prévue est-elle une date limite ?
Non, la DAP est une estimation. Une grossesse est considérée comme à terme entre 37 et 42 semaines. Seuls environ 5% des bébés naissent à leur date prévue.
Pourquoi mon cycle n'est-il pas de 28 jours ?
La durée d'un cycle menstruel varie d'une femme à l'autre. Un cycle normal peut durer entre 21 et 35 jours. La méthode de calcul standard s'appuie sur une moyenne de 28 jours, mais des ajustements peuvent être nécessaires.
Que faire si j'ai des saignements ou des retards de règles irréguliers ?
Si vous suspectez une grossesse mais avez des cycles irréguliers ou des saignements inhabituels, consultez rapidement un médecin ou une sage-femme. Une datation par échographie sera probablement nécessaire.
Comment le trimestre est-il déterminé ?
Le 1er trimestre va de la conception (ou DDR + 0j) jusqu'à la fin de la 13ème semaine. Le 2ème trimestre va de la 14ème à la 27ème semaine. Le 3ème trimestre va de la 28ème semaine jusqu'à l'accouchement.
Le calculateur prend-il en compte les cycles longs ou courts ?
Le calculateur principal utilise la DDR et ajoute 280 jours (40 semaines). Si vous avez des cycles longs ou courts, cette estimation peut différer de quelques jours par rapport à la réalité. L'option d'entrer directement les semaines et jours permet de contourner ce problème si ces données proviennent d'une source fiable (comme une échographie).
Quand l'échographie est-elle la plus fiable pour dater une grossesse ?
L'échographie de datation, généralement réalisée entre 8 et 12 semaines d'aménorrhée (SA), est la plus précise. Elle mesure la longueur crânio-caudale de l'embryon/fœtus.
Quelles sont les étapes clés de chaque trimestre ?
1er trimestre : formation des organes principaux, nausées, fatigue. 2ème trimestre : le fœtus grandit rapidement, la mère sent souvent les premiers mouvements, l'énergie revient. 3ème trimestre : prise de poids importante, préparation à l'accouchement, développement final des organes.
Développement du Fœtus Explorez les étapes clés du développement de votre bébé semaine après semaine.
// Function to get current date
function getCurrentDate() {
var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); // January is 0!
var yyyy = today.getFullYear();
return yyyy + '-' + mm + '-' + dd;
}
// Function to calculate date difference in days
function dateDiffInDays(date1, date2) {
var dt1 = new Date(date1);
var dt2 = new Date(date2);
return Math.floor((dt2 – dt1) / (1000 * 60 * 60 * 24));
}
// Function to add days to a date
function addDays(date, days) {
var result = new Date(date);
result.setDate(result.getDate() + days);
return result;
}
// Function to format date as YYYY-MM-DD
function formatDate(date) {
var d = new Date(date);
var day = String(d.getDate()).padStart(2, '0');
var month = String(d.getMonth() + 1).padStart(2, '0');
var year = d.getFullYear();
return year + '-' + month + '-' + day;
}
// Function to validate input and show errors
function validateInput(id, value, isDate = false) {
var errorElement = document.getElementById(id + "Error");
errorElement.style.display = 'none';
var inputElement = document.getElementById(id);
inputElement.classList.remove('input-error');
if (value === "") {
if (id === "lastPeriodStart") {
errorElement.textContent = "La date des dernières règles est obligatoire.";
errorElement.style.display = 'block';
inputElement.classList.add('input-error');
return false;
}
return true; // Allow optional fields to be empty
}
if (isDate) {
if (isNaN(new Date(value).getTime())) {
errorElement.textContent = "Format de date invalide.";
errorElement.style.display = 'block';
inputElement.classList.add('input-error');
return false;
}
} else {
var numValue = parseFloat(value);
if (isNaN(numValue)) {
errorElement.textContent = "Veuillez entrer un nombre valide.";
errorElement.style.display = 'block';
inputElement.classList.add('input-error');
return false;
}
if (numValue < 0) {
errorElement.textContent = "La valeur ne peut pas être négative.";
errorElement.style.display = 'block';
inputElement.classList.add('input-error');
return false;
}
if (id === "gestationalAgeDays" && (numValue 6)) {
errorElement.textContent = "Les jours doivent être entre 0 et 6.";
errorElement.style.display = 'block';
inputElement.classList.add('input-error');
return false;
}
}
return true;
}
// Function to calculate pregnancy weeks and related info
function calculatePregnancyWeeks() {
var ddrInput = document.getElementById("lastPeriodStart");
var weeksInput = document.getElementById("gestationalAgeWeeks");
var daysInput = document.getElementById("gestationalAgeDays");
var ddrValue = ddrInput.value;
var weeksValue = weeksInput.value;
var daysValue = daysInput.value;
var validDdr = validateInput("lastPeriodStart", ddrValue, true);
var validWeeks = validateInput("gestationalAgeWeeks", weeksValue);
var validDays = validateInput("gestationalAgeDays", daysValue);
if (!validDdr && weeksValue === "") { // DDR is mandatory if weeks are not provided
return;
}
if (weeksValue !== "" && !validWeeks) return;
if (daysValue !== "" && !validDays) return;
var totalDays = 0;
var gestationalAgeWeeks = 0;
var gestationalAgeDays = 0;
var dueDate = "";
var trimester = "";
var today = getCurrentDate();
if (weeksValue !== "" && daysValue !== "") {
// Use provided weeks and days
gestationalAgeWeeks = parseInt(weeksValue);
gestationalAgeDays = parseInt(daysValue);
totalDays = (gestationalAgeWeeks * 7) + gestationalAgeDays;
if (ddrValue !== "") {
var ddrDate = new Date(ddrValue);
var calculatedDueDate = addDays(ddrDate, 280);
dueDate = formatDate(calculatedDueDate);
// Re-calculate total days based on DDR for consistency if DDR is present
var daysSinceDDR = dateDiffInDays(ddrValue, today);
totalDays = daysSinceDDR;
gestationalAgeWeeks = Math.floor(totalDays / 7);
gestationalAgeDays = totalDays % 7;
} else {
// If only weeks/days are provided, DAP cannot be calculated accurately without DDR
// We can estimate based on 40 weeks total
var daysRemaining = (40 * 7) – totalDays;
dueDate = "Estimation (DDR manquante)";
}
} else if (ddrValue !== "") {
// Calculate from DDR
var daysSinceDDR = dateDiffInDays(ddrValue, today);
totalDays = daysSinceDDR;
gestationalAgeWeeks = Math.floor(totalDays / 7);
gestationalAgeDays = totalDays % 7;
var ddrDate = new Date(ddrValue);
var calculatedDueDate = addDays(ddrDate, 280);
dueDate = formatDate(calculatedDueDate);
} else {
// No input provided
document.getElementById("primaryResult").innerHTML = "—";
document.getElementById("dueDate").innerHTML = "—";
document.getElementById("totalDays").innerHTML = "—";
document.getElementById("trimester").innerHTML = "—";
document.getElementById("weeksTableBody").innerHTML = "";
clearChart();
return;
}
// Determine trimester
if (totalDays < 0) {
trimester = "Avant conception";
} else if (totalDays <= (13 * 7)) {
trimester = "1er Trimestre";
} else if (totalDays i); // 0 to maxWeeks
var weeksAsDays = weeks.map(w => w * 7);
// Dummy data for expected progression vs actual (if available)
// For simplicity, we'll just show the target 40 weeks progression
var targetDays = weeks.map(w => w * 7);
var currentPoint = (currentWeek * 7) + currentDay;
// Cap currentPoint at maxWeeks * 7 for display purposes if needed
var displayCurrentPoint = Math.min(currentPoint, maxWeeks * 7);
pregnancyChart = new Chart(chartContext, {
type: 'line',
data: {
labels: weeks.map(w => w + ' sem'), // Labels for X-axis
datasets: [{
label: 'Jours Cibles (40 sem)',
data: targetDays.slice(0, maxWeeks + 1), // Show up to maxWeeks
borderColor: 'rgba(0, 74, 153, 1)',
backgroundColor: 'rgba(0, 74, 153, 0.2)',
fill: false,
tension: 0.1,
pointRadius: 2
},
{
label: 'Jours Écoulés',
data: Array(maxWeeks + 1).fill(null).map((_, i) => {
// Only plot points up to the current week/day
if (i * 7 <= displayCurrentPoint) {
return Math.min(i * 7, displayCurrentPoint);
}
return null; // Hide points beyond current progress
}),
borderColor: 'rgba(40, 167, 69, 1)',
backgroundColor: 'rgba(40, 167, 69, 0.2)',
fill: false,
tension: 0.1,
pointRadius: 4 // Highlight current point
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
x: {
title: {
display: true,
text: 'Semaines de Grossesse'
}
},
y: {
title: {
display: true,
text: 'Nombre de Jours'
},
min: 0,
max: 40 * 7 // Max 280 days
}
},
plugins: {
tooltip: {
callbacks: {
label: function(context) {
var label = context.dataset.label || '';
if (label) {
label += ': ';
}
if (context.parsed.y !== null) {
// Convert days back to weeks and days for tooltip
var weeks = Math.floor(context.parsed.y / 7);
var days = context.parsed.y % 7;
label += weeks + ' sem ' + days + ' j';
}
return label;
}
}
}
}
}
});
}
function clearChart() {
if (pregnancyChart) {
pregnancyChart.destroy();
pregnancyChart = null;
}
// Clear canvas content explicitly if destroy doesn't work reliably
chartContext.clearRect(0, 0, chartContext.canvas.width, chartContext.canvas.height);
}
// Table Logic
function updateTable(currentWeek, currentDay, totalDays) {
var tableBody = document.getElementById("weeksTableBody");
tableBody.innerHTML = ""; // Clear previous rows
var maxWeeksDisplay = 42; // Show up to week 42
var ddrInput = document.getElementById("lastPeriodStart");
var ddrDate = ddrInput.value ? new Date(ddrInput.value) : null;
for (var w = 0; w <= maxWeeksDisplay; w++) {
var weekDays = w * 7;
var trimester = "";
var status = "";
if (w === 0) {
trimester = "Avant conception";
} else if (w <= 13) {
trimester = "1er Trimestre";
} else if (w <= 27) {
trimester = "2ème Trimestre";
} else {
trimester = "3ème Trimestre";
}
if (w 0) {
status = "En cours";
} else {
status = "À venir";
}
// Calculate approximate due date for this week (if DDR is known)
var weekDueDate = "";
if (ddrDate) {
var weeksFromDDR = Math.floor((new Date().getTime() – ddrDate.getTime()) / (1000 * 60 * 60 * 24 * 7));
var daysFromDDR = Math.floor((new Date().getTime() – ddrDate.getTime()) / (1000 * 60 * 60 * 24)) % 7;
var weeksToTarget = w – weeksFromDDR;
var daysToTarget = 0;
if (w === currentWeek) { // Current week
daysToTarget = currentDay;
} else if (w currentTotalDays) {
daysToTarget = totalDaysTarget – currentTotalDays;
} else {
daysToTarget = 0; // Should not happen if logic is correct
}
}
if (daysToTarget 0) {
weekDueDate = "Environ " + formatDate(addDays(new Date(ddrInput.value), w * 7 + currentDay));
} else if (w === currentWeek && currentDay === 0) { // If current week is exactly w weeks and 0 days
weekDueDate = "Environ " + formatDate(addDays(new Date(ddrInput.value), w * 7));
} else if (w === currentWeek + 1 && currentDay === 0) { // If current week is the start of next week
weekDueDate = "Environ " + formatDate(addDays(new Date(ddrInput.value), w * 7));
}
} else {
weekDueDate = "N/A (DDR manquante)";
}
var row = tableBody.insertRow();
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
cell1.textContent = w;
cell2.textContent = weekDays;
cell3.textContent = trimester;
cell4.textContent = status;
// Highlight current week row
if (status === "En cours") {
row.style.backgroundColor = "rgba(40, 167, 69, 0.1)";
row.style.fontWeight = "bold";
}
}
}
// Function to toggle FAQ answers
function toggleFaq(element) {
var answer = element.nextElementSibling;
if (answer.style.display === "block") {
answer.style.display = "none";
} else {
answer.style.display = "block";
}
}
// Initial calculation on page load if inputs are pre-filled (e.g., from URL params or saved state)
// Or just to show default state if inputs are empty
document.addEventListener('DOMContentLoaded', function() {
// Optional: Set default date to today for the DDR input
// var todayInput = document.getElementById('lastPeriodStart');
// if (!todayInput.value) {
// todayInput.value = getCurrentDate();
// }
calculatePregnancyWeeks(); // Perform an initial calculation/update to set up chart/table
});