L'essentiel —
INTetTRUNCsuppriment tous deux la partie fractionnaire d'un nombre, mais ils divergent sur les négatifs :INTarrondit vers moins l'infini (doncINT(-2.5)vaut-3), tandis queTRUNCtronque simplement vers zéro (doncTRUNC(-2.5)vaut-2). Pour les nombres positifs, ils sont identiques.MODrenvoie le reste d'une division — et le piège d'Excel, c'est que le reste prend le signe du diviseur, pas celui du nombre, donc=MOD(-1, 3)vaut2, et non-1. Ce seul fait diffère de la plupart des langages de programmation et constitue la première surprise de MOD. Les trois fonctionnent dans toutes les versions.
=INT(-2.5) ' -> -3 plancher : vers moins l'infini
=TRUNC(-2.5) ' -> -2 troncature : vers zéro
=MOD(-1, 3) ' -> 2 le reste prend le signe du diviseur
Ces trois fonctions sont les chevaux de trait du « donne-moi la partie entière » et du « donne-moi ce qui reste ». Elles semblent triviales — jusqu'à ce qu'un nombre négatif surgisse, ou que vous portiez une formule depuis un autre outil, et que la réponse soit décalée d'une unité ou change de signe sans raison visible. Les deux surprises viennent du sens vers lequel chaque fonction penche. Ce guide commence par ce modèle mental, puis aborde les pièges qui en découlent.
Ce que vous allez apprendre
- Le modèle mental : tronquer vers zéro vs plancher vers moins l'infini
- Pourquoi
INTetTRUNCs'accordent sur les positifs et divergent sur les négatifs - Le second argument de
TRUNC— tronquer à un nombre de décimales défini MOD, le reste, et la règle du signe du diviseur qui piège tout le monde- Deux victoires du quotidien : séparer la date de l'heure, et le motif zébré
- L'arbitrage : plancher, troncature ou reste
Le modèle mental : troncature vs plancher
INT et TRUNC « suppriment les décimales » tous deux, mais ils répondent à une
question différente quand le nombre est négatif :
TRUNCtronque — il supprime les chiffres après la virgule et garde le signe. Toujours vers zéro.TRUNC(2.9)→2,TRUNC(-2.9)→-2.INTarrondit au plancher — il renvoie le plus grand entier inférieur ou égal au nombre. Toujours vers moins l'infini.INT(2.9)→2,INT(-2.9)→-3.
' positif : identique
=INT(2.9) ' -> 2
=TRUNC(2.9) ' -> 2
' négatif : ils divergent
=INT(-2.9) ' -> -3 (l'entier EN DESSOUS de -2,9)
=TRUNC(-2.9) ' -> -2 (on supprime juste le ,9)
Pour les nombres positifs, vous pouvez prendre l'un ou l'autre sans jamais voir la différence. Dès qu'un négatif apparaît — une perte, une température, une coordonnée — ils se séparent, et choisir le mauvais, c'est le bug silencieux du « décalage d'une unité sur les négatifs ».
Remarque : dans un Excel francophone, ces fonctions portent des noms localisés —
INTs'appelle ENT,TRUNCTRONQUE etMODreste MOD. La fonctionROUNDDOWN, citée en comparaison, s'appelle ARRONDI.INF. La syntaxe et le comportement sont identiques ; seul le nom change.
La règle : choisir selon ce que vous voulez sur les négatifs
La décision est simple une fois qu'on la nomme. Si vous voulez dire « toujours
arrondir vers le bas sur la droite graduée » — un vrai plancher, comme le
fonctionnement d'un âge révolu ou d'un comptage de marches — utilisez INT. Si vous
voulez dire « garder juste la partie entière, signe compris » — retirer les centimes
d'un montant qui peut être un crédit ou un débit — utilisez TRUNC.
=INT(-1.2) ' -> -2 « un cran complet en dessous » (plancher)
=TRUNC(-1.2) ' -> -1 « la partie entière » (troncature)
Un bon indice : si vous seriez mécontent qu'un résultat de -1,2 devienne plus
négatif, c'est TRUNC que vous vouliez. Si vous seriez mécontent qu'il devienne
moins négatif, c'est INT. C'est la même opposition vers-zéro-contre-vers-l'infini
qui sépare ROUNDDOWN d'un vrai plancher — voyez
Excel ROUND, ROUNDUP et ROUNDDOWN.
Le second argument caché de TRUNC
Contrairement à INT, TRUNC accepte un second argument facultatif : combien de
décimales conserver avant de tronquer. Il n'arrondit pas — il coupe.
=TRUNC(3.14159, 2) ' -> 3.14 garder 2 décimales, sans arrondir
=TRUNC(3.149, 2) ' -> 3.14 PAS 3,15 — il tronque, n'arrondit jamais
=TRUNC(1234.5, -2) ' -> 1200 négatif : tronquer aux centaines
Pour les nombres positifs, TRUNC(x, 2) correspond à ROUNDDOWN(x, 2), mais
l'intention diffère : TRUNC dit « coupe ici », ROUNDDOWN dit « arrondis vers
zéro ». Quand vous voulez spécifiquement une troncature — prendre les premières
décimales d'un identifiant, ou écarter délibérément de la précision — TRUNC le dit
clairement.
MOD : le reste, et le piège du signe
MOD(number, divisor) renvoie ce qui reste après division — le reste. =MOD(7, 3)
vaut 1 parce que 7 = 2×3 + 1. Simple, jusqu'à ce qu'un négatif entre en jeu.
=MOD(7, 3) ' -> 1
=MOD(-1, 3) ' -> 2 PAS -1
=MOD(1, -3) ' -> -2 le signe suit le DIVISEUR
Dans Excel, le reste prend le signe du diviseur, car MOD est défini comme
number - divisor * INT(number / divisor) — et cet INT arrondit au plancher vers
moins l'infini. C'est différent de l'opérateur Mod du C, de Java et de VBA, où le
reste suit le dividende (donc le -1 Mod 3 de VBA vaut -1). Si vous avez porté une
formule ou une macro et que les résultats de modulo ont changé de signe, voilà
pourquoi. Quand vous avez besoin du comportement à la manière de ces langages,
calculez-le explicitement plutôt que de supposer que MOD y correspond.
Deux victoires du quotidien
Séparer une date d'une heure. Excel stocke une date-heure comme un nombre dont la
partie entière est la date et la partie fractionnaire l'heure. INT et MOD les
séparent :
=INT(A2) ' -> la date (supprime l'heure)
=MOD(A2, 1) ' -> l'heure de la journée (supprime la date)
Zébrer les lignes ou regrouper une ligne sur N. MOD appliqué à un numéro de
ligne donne un cycle répété, parfait pour la mise en forme conditionnelle ou le
regroupement :
=MOD(ROW(), 2) = 0 ' VRAI sur chaque ligne paire -> lignes alternées
=MOD(ROW() - 2, 3) = 0 ' VRAI une ligne sur 3 à partir du haut
=MOD(value, 2) = 0 ' value est-elle paire ?
Ces deux motifs — séparation date/heure et regroupement cyclique — sont là où INT
et MOD rendent vraiment service, bien au-delà du simple « supprimer la décimale ».
L'arbitrage : plancher, troncature ou reste
Trois choix nets. Vous voulez la partie entière, signe préservé ? TRUNC (et
utilisez son second argument pour tronquer à un nombre de décimales défini). Vous
voulez un vrai plancher vers moins l'infini, ou extraire une date d'une
date-heure ? INT. Vous voulez ce qui reste — motifs périodiques, pair/impair,
heure de la journée, « une sur N » ? MOD, sans oublier que le reste suit le signe du
diviseur. Le seul vrai piège est d'utiliser INT là où vous vouliez TRUNC (ou
l'inverse) sur des données qui peuvent être négatives ; laissez donc le signe de vos
données, et non l'habitude, choisir la fonction.
Comment ExcelMaster vous aide
L'intention derrière ces fonctions est en général concrète — retire l'heure de cet
horodatage, marque une ligne sur trois, prends les unités entières et traite le
reste séparément — et les bugs viennent du sens des nombres négatifs et de la règle
de signe de MOD. ExcelMaster fait correspondre la phrase à la bonne fonction :
INT pour un plancher ou une date, TRUNC pour garder la partie entière d'une valeur
signée, MOD pour les cycles et les restes avec le comportement de signe pris en
compte. Vous dites ce que vous voulez tirer du nombre ; il écrit la version qui
survit aux négatifs.
Foire aux questions
Quelle différence entre INT et TRUNC dans Excel ?
Les deux suppriment les décimales. INT arrondit vers moins l'infini (un vrai
plancher), donc INT(-2.5) vaut -3. TRUNC tronque vers zéro, donc TRUNC(-2.5)
vaut -2. Ils sont identiques pour les nombres positifs et ne diffèrent que sur les
négatifs.
Pourquoi MOD renvoie-t-il un nombre positif pour une entrée négative ?
Le MOD d'Excel donne au reste le signe du diviseur, donc =MOD(-1, 3) vaut 2.
Cela diffère de VBA et de la plupart des langages de programmation, où le reste suit
le dividende.
Comment extraire la partie heure d'une cellule date-heure ?
Utilisez =MOD(A2, 1) pour l'heure de la journée et =INT(A2) pour la date. Excel
stocke la date dans la partie entière du nombre et l'heure dans la partie
fractionnaire.
Comment tronquer à 2 décimales sans arrondir ?
Utilisez =TRUNC(number, 2). Contrairement à ROUND, il coupe les chiffres superflus
au lieu de les arrondir, donc =TRUNC(3.149, 2) vaut 3.14.
Comment vérifier si un nombre est pair ou impair ?
Utilisez MOD avec un diviseur de 2 : =MOD(A2, 2) = 0 vaut VRAI pour les nombres
pairs et FAUX pour les impairs. (Excel propose aussi les fonctions dédiées ISEVEN
et ISODD.)
Testé dans
Testé dans : Excel 365 (Windows 11) — dernière vérification le 27/06/2026.
Guides associés : Excel ROUND, ROUNDUP et ROUNDDOWN · Excel MROUND, CEILING et FLOOR · Excel IF · Excel SUMIFS
