Aller au contenu principal

Qu'est-ce que la fonction ATAN2 ?

Définition
La fonction ATAN2 retourne l'angle en radians entre l'axe X positif et la ligne reliant l'origine au point (coord_x ; coord_y). Elle distingue les quatre quadrants et couvre la plage complète de -π à +π.

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

=ATAN2(coord_x; coord_y)

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).

Le combo gagnant
ATAN2 est le grand frère d'ATAN : là où ATAN plafonne entre -90° et 90° et ne voit qu'une moitié du plan, ATAN2 prend x et y séparément, distingue les quatre quadrants et couvre tout le tour, de -180° à 180°.
Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

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.

1

coord_x

: la coordonnée X du point pour lequel tu veux calculer l'angle

Elle 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.

2

coord_y

: la coordonnée Y du point, représentant le déplacement vertical depuis l'origine

Dans 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.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =DEGRES(.
  2. 2
    En 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 de 4, puis la coordonnée Y, B2, qui porte le Delta Y de 3. Cet ordre est propre à Excel, là où Python et JavaScript attendent la coordonnée Y en premier. Le résultat sort en radians et vaut 0,64 pour le pont S-01, une valeur que la fonction DEGRES traduit en 36,87 degrés.
  3. 3
    Ferme 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.
Au final, ta formule devrait ressembler à ça :=DEGRES(ATAN2(A2; B2))
Explication
Ici, la fonction ATAN2 reçoit le Delta X et le Delta Y du pont S-01, situe le point dans le premier quadrant et renvoie son angle en radians, que DEGRES traduit en 36,87°. Recopiée vers le bas, la colonne Orientation refait le calcul pour chaque ouvrage, y compris ceux dont le Delta X est négatif.
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =MOD(.
  2. 2
    En 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,87 degrés. L'ajout de 360 ne change pas la direction visée, il rend simplement cette valeur positive.
  3. 3
    En 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.
  4. 4
    Ferme 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.
Voici la formule que tu obtiens à la fin :=MOD(DEGRES(ATAN2(B2; C2))+360; 360)
Explication
La formule situe la balise A-01 grâce à ses deux coordonnées, puis MOD replie l'angle négatif sur un tour complet : -126,87° devient 233,13°, le même cap tel qu'une boussole l'affiche. Les balises déjà orientées vers le nord-est, comme A-05 à 36,87°, traversent le calcul sans changer de valeur.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 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 valent 0 sur 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.
  3. 3
    En 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é.
  4. 4
    Ferme 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.
Une fois les morceaux assemblés, ta formule donne ça :=SIERREUR(DEGRES(ATAN2(B2; C2)); "Point à l'origine")
Explication
La fonction ATAN2 bute sur le robot R-01, dont les deux deltas valent zéro : un point posé sur l'origine n'a aucune direction, d'où l'erreur #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).
L’erreur fatale
Excel écrit ATAN2(x ; y), la coordonnée X d'abord, alors que Python, JavaScript et C++ utilisent atan2(y, x). Si tu recopies une formule trouvée en ligne, l'angle sort complètement faux. Vérifie avec ATAN2(1 ; 0), qui doit renvoyer 0.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreATAN2ATANACOSASIN
Plage de sortie-π à π (-180° à 180°)-π/2 à π/2 (-90° à 90°)0 à π (0° à 180°)-π/2 à π/2 (-90° à 90°)
Distingue les 4 quadrantsOuiNon (2 quadrants)Non (2 quadrants)Non (2 quadrants)
Gère x=0Oui (sauf 0,0)OuiLimitéOui
Paramètres2 (x, y)1 (tangente)1 (cosinus)1 (sinus)
Usage principalNavigation, robotique, jeux vidéoCalculs simplesProduit scalaireCalculs d'élévation
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec ATAN2

1Astuce

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.

2Astuce

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.

3Astuce

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.

FAQ

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.

Ressources

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