ATAN2 est une fonction trigonométrique qui calcule l'angle formé par un point de coordonnées (x, y) par rapport à l'axe horizontal. Contrairement à ATAN classique, elle distingue les quatre quadrants du plan et retourne un angle complet entre -180° et +180°.
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 de la fonction ATAN2
=ATAN2(coord_x; coord_y)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.
Astuce : Pour calculer l'angle entre deux points A et B, passe en premier la différence de coordonnées X : =ATAN2(B_x - A_x; B_y - A_y).
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
Ingénieur civil : calculer l'orientation d'une structure
Tu es ingénieur civil et tu dois déterminer l'angle d'orientation d'un panneau solaire ou d'une structure par rapport à l'axe horizontal. Tu as les coordonnées du vecteur de direction et tu veux connaître l'azimut en degrés.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Delta X | Delta Y | Angle (radians) | Angle (degrés) |
| 2 | 3,5 m | 4,2 m | 0,876 | 50,19° |
=DEGRES(ATAN2(A2; B2))La formule lit les deux composantes du vecteur (Delta X, Delta Y), ATAN2 en déduit l'azimut et DEGRES le convertit : 50,19°. Cet angle sert ensuite à estimer l'exposition au soleil, l'impact du vent ou d'autres facteurs, et tous les quadrants sont gérés quelle que soit la direction de la structure.
Développeur de jeux vidéo : orienter un personnage vers une cible
Tu développes un jeu vidéo et tu dois faire pivoter un personnage pour qu'il regarde vers un ennemi. Tu as les positions du joueur (10, 15) et de l'ennemi (25, 30) et tu dois calculer l'angle de rotation.
| A | B | C | |
|---|---|---|---|
| 1 | Position | X | Y |
| 2 | Joueur | 10 | 15 |
| 3 | Ennemi | 25 | 30 |
| 4 | Delta | 15 | 15 |
=DEGRES(ATAN2(C4-C2; D4-D2))La formule soustrait les positions pour obtenir le vecteur joueur → ennemi (15 ; 15), dont ATAN2 tire un angle de 45° converti en degrés. Dans un moteur de jeu, cet angle pilote ensuite la rotation du sprite ou du modèle 3D : ATAN2 couvre toutes les directions autour du personnage sans ambiguïté de quadrant.
Roboticien : définir la trajectoire d'un robot mobile
Tu programmes un robot mobile qui doit se déplacer vers un point de destination. Tu dois calculer l'angle de direction pour orienter les moteurs correctement à partir de la position actuelle (0, 0) vers la destination (-2, 3).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Point | X (m) | Y (m) | Cap (°) |
| 2 | Position actuelle | 0 | 0 | , |
| 3 | Destination | -2 | 3 | 123,69 |
=DEGRES(ATAN2(B3-B2; C3-C2))Ici, la formule calcule le vecteur entre la position actuelle et la destination, et ATAN2 en déduit un cap de 123,69° (la destination en (-2, 3) est dans le 2e quadrant). On retrouve cette logique en navigation autonome, dans les drones et les véhicules automatisés, car ATAN2 donne un cap juste quel que soit le quadrant.
Astuce de pro : Pour obtenir un cap entre 0° et 360° (au lieu de -180° à 180°), utilise =MODULO(DEGRES(ATAN2(x; y))+360; 360). Pratique pour les applications de navigation ou de cartographie.
Architecte : analyser l'exposition solaire d'une façade
Tu travailles sur un bâtiment et tu veux analyser l'orientation de chaque façade pour optimiser les apports solaires. Tu as le vecteur normal de chaque façade et tu dois calculer son azimut.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Façade | Normal X | Normal Y | Azimut | Orientation |
| 2 | Nord | 0 | 1 | 90° | Plein Nord |
| 3 | Est | 1 | 0 | 0° | Plein Est |
| 4 | Sud | 0 | -1 | -90° | Plein Sud |
| 5 | Ouest | -1 | 0 | 180° | Plein Ouest |
=DEGRES(ATAN2(B2; C2))La formule prend les composantes du vecteur normal de chaque façade et en tire l'azimut, le tout dans une seule colonne. Ces angles servent à estimer les heures d'ensoleillement, dimensionner les protections solaires ou placer les vitrages au mieux : ATAN2 couvre toutes les orientations, jusqu'au Plein Ouest à 180°.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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 =MODULO(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 sur la fonction ATAN2
Quelle est la différence entre ATAN2 et ATAN ?
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.
Quel est l'ordre des paramètres dans ATAN2 ?
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.
Comment convertir le résultat en degrés au lieu de radians ?
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.
ATAN2 peut-elle retourner un angle négatif ?
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°).
Que se passe-t-il si les deux coordonnées sont nulles ?
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).
Comment obtenir un cap entre 0° et 360° au lieu de -180° à 180° ?
Utilise la fonction MODULO pour ramener les angles négatifs dans la plage souhaitée : =MODULO(DEGRES(ATAN2(x; y))+360; 360). Cette formule ajoute d'abord 360° puis prend le modulo pour que le résultat soit toujours entre 0° et 360°.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
