Qu'est-ce que la fonction ATAN2 ?
ATAN2 te sert dès qu'ATAN ne suffit plus : tu as besoin de savoir dans quelle direction pointe réellement un point, pas seulement l'angle de sa pente, et l'ambiguïté entre deux quadrants opposés te ferait viser à l'envers. C'est l'outil qu'on sort pour orienter une structure, calculer un cap ou faire pointer un objet vers une cible.
Concrètement, c'est la fonction qu'utilisent les ingénieurs pour calculer l'orientation d'une structure, les roboticiens pour définir la trajectoire d'un robot mobile, les architectes pour analyser l'exposition solaire d'une façade, ou les développeurs de jeux pour orienter un personnage vers une cible.
Syntaxe
Clique sur un argument pour aller à son explication.
ATAN2 retourne un résultat en radians, pas en degrés. Encapsule-la dans DEGRES pour obtenir directement des degrés : =DEGRES(ATAN2(coord_x; coord_y)). Attention aussi à l'ordre des paramètres : Excel utilise (x; y), contrairement à Python et JavaScript qui utilisent (y, x).

Comprendre chaque paramètre de la fonction ATAN2
Les deux coordonnées sont obligatoires, mais c'est leur ordre qui te jouera des tours : dans Excel coord_x vient toujours en premier, puis coord_y. Python et JavaScript font l'inverse, donc si tu recopies une formule trouvée en ligne, vérifie bien qui passe d'abord. Chacune accepte une valeur positive, négative ou nulle, sauf que les deux à zéro en même temps font planter le calcul.
coord_x
: la coordonnée X du point pour lequel tu veux calculer l'angleElle représente le déplacement horizontal depuis l'origine. Si tu calcules une direction entre deux positions GPS, coord_x sera la différence de longitude.
Cette valeur peut être positive (vers la droite) ou négative (vers la gauche). Elle peut aussi être nulle, ce qu'ATAN classique ne gère pas correctement.
coord_y
: la coordonnée Y du point, représentant le déplacement vertical depuis l'origineDans un contexte de navigation, ce serait la différence de latitude. Cette valeur peut être positive (vers le haut) ou négative (vers le bas).
L'ordre des paramètres est crucial : coord_x vient toujours en premier dans Excel, ce qui est l'inverse de nombreux langages de programmation.
Attention : Si les deux coordonnées valent zéro simultanément, ATAN2(0; 0) génère une erreur #DIV/0! car l'angle à l'origine n'est pas défini mathématiquement. Utilise =SIERREUR(ATAN2(x; y); 0) pour gérer ce cas.

Exemples pratiques pas à pas
Comment calculer un angle à partir de deux coordonnées avec les fonctions ATAN2 et DEGRES
Le relevé de terrain revient avec le décalage horizontal et vertical de chaque ouvrage, et la revue de chantier attend l'orientation de tous. Tes lignes donnent un Delta X et un Delta Y par structure, et tu veux l'angle en degrés en face de chaque référence, sans sortir le rapporteur. La fonction ATAN2 lit les deux coordonnées et en tire l'angle du point, que DEGRES rend lisible.
- 1Dans une cellule, écris
=DEGRES(. - 2En 1er argument : écris l'angle à convertir et referme-le,
ATAN2(A2; B2). La fonction ATAN2 lit d'abord la coordonnée X,A2, qui porte le Delta X de4, puis la coordonnée Y,B2, qui porte le Delta Y de3. Cet ordre est propre à Excel, là où Python et JavaScript attendent la coordonnée Y en premier. Le résultat sort en radians et vaut0,64pour le pont S-01, une valeur que la fonction DEGRES traduit en36,87degrés. - 3Ferme la parenthèse de la fonction DEGRES et appuie sur Entrée. Celle de la fonction ATAN2 a déjà été refermée à l'étape précédente.
=DEGRES(ATAN2(A2; B2))Comment obtenir un cap de 0° à 360° avec les fonctions ATAN2 et MOD
Tu prépares la feuille de route d'une tournée de relevés, et les caps doivent être lisibles par les équipes sur le terrain. Tes balises sont repérées par leur décalage en X et en Y depuis le point de départ, mais les balises situées au sud ressortent avec un angle négatif, ce qui ne veut rien dire sur une boussole. La fonction MOD ramène chaque cap issu de la fonction ATAN2 dans la plage 0° à 360° attendue.
- 1Dans une cellule, écris
=MOD(. - 2En 1er argument : écris le cap à replier sur un tour complet,
DEGRES(ATAN2(B2; C2))+360. La fonction ATAN2 lit d'abord la coordonnée X,B2, qui vaut-3, puis la coordonnée Y,C2, qui vaut-4. Deux coordonnées négatives placent la balise A-01 dans le troisième quadrant, et la fonction DEGRES traduit son angle en-126,87degrés. L'ajout de360ne change pas la direction visée, il rend simplement cette valeur positive. - 3En 2ᵉ argument : saisis la longueur d'un tour complet,
360. La fonction MOD renvoie le reste de la division par ce nombre, ce qui ramène le cap dans la plage 0° à 360° qu'une boussole affiche. - 4Ferme la parenthèse de la fonction MOD et appuie sur Entrée. Celles des fonctions DEGRES et ATAN2 ont déjà été refermées dans l'étape du premier argument.
=MOD(DEGRES(ATAN2(B2; C2))+360; 360)Comment gérer l'erreur #DIV/0! de la fonction ATAN2 avec SIERREUR
Une flotte de robots remonte sa position en continu, et le tableau de suivi doit afficher le cap de chacun sans se couvrir de messages rouges. Chaque ligne donne le décalage en X et en Y entre le robot et sa cible, mais un robot déjà arrivé renvoie deux zéros, et la fonction ATAN2 renvoie alors une erreur. La fonction SIERREUR intercepte le cas et affiche un texte clair à la place.
- 1Dans une cellule, écris
=SIERREUR(. - 2En 1er argument : écris le calcul à tenter et referme-le,
DEGRES(ATAN2(B2; C2)). La fonction ATAN2 lit d'abord la coordonnée X,B2, puis la coordonnée Y,C2, et les deux valent0sur la ligne du robot R-01. C'est ce couple de zéros qui déclenche l'erreur#DIV/0!, et la conversion en degrés la laisse passer jusqu'à la cellule. - 3En 2ᵉ argument : saisis le texte de secours,
"Point à l'origine". Les guillemets signalent à Excel qu'il s'agit d'un texte à afficher tel quel, et non d'un nom d'élément à retrouver dans le classeur. Ce texte ne sort que si le calcul du premier argument a échoué. - 4Ferme la parenthèse de la fonction SIERREUR et appuie sur Entrée. Les parenthèses des fonctions DEGRES et ATAN2 ont été refermées dès le premier argument.
=SIERREUR(DEGRES(ATAN2(B2; C2)); "Point à l'origine")#DIV/0! que SIERREUR remplace par le texte de secours. Les robots encore en route gardent leur angle réel, du 158,20° de R-03 (deuxième quadrant) au -63,43° de R-04 (quatrième quadrant).
Les erreurs fréquentes avec la fonction ATAN2
Trois soucis reviennent sans cesse avec ATAN2. Le #DIV/0! quand tes deux coordonnées valent zéro, car l'angle à l'origine n'existe pas mathématiquement. Un résultat qui ressemble à 0,78 au lieu de 45, parce qu'elle te répond en radians et non en degrés. Et un angle complètement faux quand tu as inversé coord_x et coord_y en recopiant du code venu d'un autre langage.
Erreur #DIV/0! avec les coordonnées (0, 0)
Si les deux coordonnées sont nulles simultanément, ATAN2(0; 0) génère l'erreur #DIV/0! car l'angle à l'origine n'est mathématiquement pas défini. C'est l'erreur la plus courante avec cette fonction.
Solution : Ajoute une vérification avec =SI(ET(A1=0; B1=0); 0; ATAN2(A1; B1)) ou utilise =SIERREUR(ATAN2(A1; B1); 0) pour gérer automatiquement cette situation.
Résultat en radians au lieu de degrés
ATAN2 retourne toujours un angle en radians, pas en degrés. Si tu vois des valeurs entre -3,14 et 3,14 alors que tu attendais des degrés, c'est ce qui se passe.
Solution : Utilise systématiquement =DEGRES(ATAN2(x; y)) pour obtenir des degrés. Tu peux aussi multiplier par 180/PI() : =ATAN2(x; y)*180/PI().
Angle incorrect : confusion sur l'ordre des paramètres
Dans Excel, c'est ATAN2(x; y), mais dans de nombreux langages de programmation (Python, JavaScript, C++), c'est atan2(y, x) avec l'ordre inversé. Si tu migres du code, tu peux obtenir des angles complètement faux.
Solution : Vérifie l'ordre avec un cas connu : ATAN2(1; 0) doit retourner 0 (point sur l'axe X positif). Si tu obtiens π/2, les paramètres sont inversés. Échange coord_x et coord_y.

ATAN2 vs ATAN vs ACOS vs ASIN
Utilise ATAN2 quand tu as des coordonnées (x, y) et que tu veux un angle complet couvrant les quatre quadrants. Réserve ATAN pour les cas simples où tu as déjà calculé le rapport y/x, ACOS pour les calculs de produit scalaire, et ASIN pour les calculs verticaux.
| Critère | ATAN2 | ATAN | ACOS | ASIN |
|---|---|---|---|---|
| Plage de sortie | -π à π (-180° à 180°) | -π/2 à π/2 (-90° à 90°) | 0 à π (0° à 180°) | -π/2 à π/2 (-90° à 90°) |
| Distingue les 4 quadrants | Oui | Non (2 quadrants) | Non (2 quadrants) | Non (2 quadrants) |
| Gère x=0 | Oui (sauf 0,0) | Oui | Limité | Oui |
| Paramètres | 2 (x, y) | 1 (tangente) | 1 (cosinus) | 1 (sinus) |
| Usage principal | Navigation, robotique, jeux vidéo | Calculs simples | Produit scalaire | Calculs d'élévation |

Astuces avancées avec ATAN2
Convertis un angle ATAN2 en cap de 0° à 360°
Par défaut, ATAN2 retourne des angles entre -180° et +180°. Pour obtenir un cap classique entre 0° et 360° comme en navigation, applique la formule =MOD(DEGRES(ATAN2(x; y))+360; 360). Elle ajoute 360° puis prend le modulo pour ramener le résultat dans la plage souhaitée.
Pratique pour toute application de cartographie ou de pilotage où les angles négatifs n'ont pas de sens opérationnel.
Calcule la distance et l'angle entre deux points en une ligne
Combine ATAN2 avec RACINE pour obtenir à la fois la distance et le cap entre deux points : =RACINE((B2-B1)^2+(C2-C1)^2) pour la distance, =DEGRES(ATAN2(B2-B1; C2-C1)) pour l'angle. Tu obtiens les coordonnées polaires complètes à partir des coordonnées cartésiennes.
Très utilisé en physique, en ingénierie mécanique et dans les algorithmes de navigation.
Gère les angles nuls ou indéfinis avec SIERREUR
Quand tes données peuvent contenir des points à l'origine (0, 0), protège ta formule systématiquement : =SIERREUR(DEGRES(ATAN2(x; y)); 0). Le zéro de secours peut aussi être remplacé par "" pour laisser la cellule vide, ou par un message explicite.
Cette précaution est indispensable dans les tableaux de données importées où des coordonnées nulles peuvent apparaître.
Questions fréquentes
ATAN2 est beaucoup plus polyvalente car elle distingue les quatre quadrants du plan. ATAN retourne un angle entre -90° et +90°, tandis qu'ATAN2 retourne un angle complet entre -180° et +180°. De plus, ATAN2 gère le cas x = 0 sans erreur, ce qu'ATAN ne peut pas faire directement.
Dans Excel, c'est ATAN2(coord_x; coord_y) avec la coordonnée X en premier. Attention : certains langages de programmation (Python, JavaScript) utilisent l'ordre inverse (y, x). C'est une source d'erreur fréquente quand on migre du code ou qu'on consulte de la documentation externe.
Utilise la fonction DEGRES : =DEGRES(ATAN2(coord_x; coord_y)). Par exemple, =DEGRES(ATAN2(1; 1)) retourne 45 pour un angle de 45°. Tu peux aussi multiplier par 180/PI() pour le même résultat.
Oui. ATAN2 retourne des angles entre -π et +π radians (soit -180° et +180°). Les angles négatifs correspondent aux points situés dans les quadrants inférieurs (III et IV). Par exemple, ATAN2(1; -1) retourne environ -0,785 radians (-45°).
ATAN2(0; 0) génère l'erreur #DIV/0! car l'angle à l'origine n'est pas défini mathématiquement. Si tu as ce cas dans tes données, protège ta formule avec SIERREUR : =SIERREUR(ATAN2(x; y); 0).
Pour aller plus loin
Continue sur ta lancée après la fonction ATAN2 : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



