2 motors controlled by one joystick

My code for my robot projet is:
// Librairie Adafruit
#include <Wire.h>
#include <Adafruit_MotorShield.h>
#include "utility/Adafruit_MS_PWMServoDriver.h"

Adafruit_MotorShield AFMS = Adafruit_MotorShield();
Adafruit_MotorShield monShield = Adafruit_MotorShield(); //création de l'objet shield
Adafruit_DCMotor *moteurGauche = monShield.getMotor(1); //création de l'objet moteurGauche par pointeur et repérage du numéro
Adafruit_DCMotor *moteurDroite = monShield.getMotor(2); //création de l'objet moteurDroite par pointeur et repérage du numéro

// Branchement joystick et moteur
const int x = A0;
const int xMin = 0;
const int xMax = 1023;
const int y = A4;
const int yMin = 0;
const int yMax = 1023;
int neut = 20; // zone neutre
int neutn = -20; // zone neutre négative

int zone;
int zone_val;

// Définition des variables
int lecX, lecY, calX, calY, retX, retY, vit;

//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
void setup () {
// Initialisation port serie
Serial.begin(9600);
AFMS.begin();
zone_val = 10;
zone = 10;
// Lecture des valeurs en x et y
lecX = analogRead(x);
lecY = analogRead(y);
}
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void loop() {

// Calibration du joystick en 0,0
calX = analogRead(x)-lecX;
calY = analogRead(y)-lecY;

Serial.print("+++++++> valeur_calX :") && Serial.println (calX);
Serial.print("+++++++> valeur_calY :") && Serial.println (calY);
delay (100);

/*
Serial.print("SENS INITIAL MOTEUR 1 RELEASE++++++> :")&&Serial.println (sensM1);
Serial.print("SENS INITIAL MOTEUR 2 RELEASE++++++> :")&&Serial.println (sensM2);
Serial.print("SENS TEST MOTEUR 3 FORWARD++++++> :")&&Serial.println (sensM3);

delay (1000);

//sensM1 = "FORWARD";
//sensM2 = "FORWARD";
//Serial.print("SENS MOTEUR 1 FORWARD++++++> :") && Serial.println ('sensM1');
//Serial.print("SENS MOTEUR 2 FORWARD++++++> :") && Serial.println ('sensM2');
delay(1000);
*/

// Réatalonnage x et y de 0,1023 à -255,255
//Ré-étalonne la valeur entre 0 et 1023 sur une fourchette entre 0 et 255
retX = map(calX, xMin, xMax, -255 , 255);
retX= constrain(calX, -255, 255);
retY = map(calY, yMin, yMax, -255, 255);
retY = constrain(calY, -255, 255);

Serial.print("=======> valeur_X :") && Serial.println (retX);
Serial.print("=======> valeur_Y :") && Serial.println (retY);
delay (100);

if ((abs(retX)) > (abs(retY)))
{
vit = (abs(retX));
}
else
{
vit = (abs(retY));
}
//++++++++++++++++++

calcul_zone(retX, retY);
Serial.println("POSITION JOYSTICK case valeur :");
Serial.print("======> valeur_X :") && Serial.println (retX);
Serial.print("=======> valeur_Y :") && Serial.println (retY);
delay(100);

Serial.print("ZONE VAL ======> :") && Serial.println(zone);
delay(100);

Serial.println("BONJOUR");
impression(zone);
delay(2000);
ACTION_MOTOR(zone);
//delay(500);
//arret();
//delay(2000);
//Serial.print("ZONE VAL ======> :") && Serial.println(zone_val);
Serial.println("AU REVOIR");
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~é
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
// CALCUL DE ZONE PAR RAPPORT A LA POSITION JOYSTICK (RetX, RetY);

void calcul_zone(int XX, int YY)
{
if (YY <= neutn)
{
if (XX >= neut){zone = 4;}
if (XX <= neutn){zone = 6;}
if ((XX < neut) && (XX > neutn)) {zone = 5;}
}
if (YY >= neut)
{
if (XX >= neut){zone = 2;}
if (XX <= neutn){zone = 8;}
if ((XX < neut) && (XX > neutn)) {zone = 1;}
}
if ((YY > neutn) && (YY < neut))
{
if (XX >= neut){zone = 3;}
if (XX <= neutn){zone = 7;}
if ((XX < neut) && (XX > neutn)) {zone = 0;}
}
}
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@à
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&++++++++++++++++++++++++++++++++++++++++++++++++++
void arret(){
//fonction d'arrêt des deux moteurs
moteurGauche->run(RELEASE);
moteurDroite->run(RELEASE);
}
void defVitesse(int v){
moteurGauche->setSpeed(v); //on redéfinit la vitesse
moteurDroite->setSpeed(v); //des deux moteurs
}
void avance(int v){
//fonction de marche avant
//defVitesse(v);
moteurGauche->setSpeed(v);
moteurDroite->setSpeed(v);
//appel de la fonction pour définir la vitesse
moteurGauche->run(FORWARD);
moteurDroite->run(FORWARD);
}
void recule(int v){
//fonction de marche arrière
defVitesse(v);
moteurGauche->run(BACKWARD);
moteurDroite->run(BACKWARD);
}
void tourneDroite(int v){
//fonction pour tourner à droite sur place
defVitesse(v);
moteurGauche->run(FORWARD);
moteurDroite->run(BACKWARD);
}
void tourneGauche(int v){
//fonction pour tourner à gauche sur place
defVitesse(v);
moteurGauche->run(BACKWARD);
moteurDroite->run(FORWARD);
}
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&++++++++++++++++++++++++++++++++++++++++++++++++
//§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
void impression(int zone)
{
switch (zone)
{
case 0:
Serial.println("Robot STOP");
break;
case 1:
Serial.println("Robot AVANCE");
delay(10);
break;
case 2:
Serial.println("Robot AVANCE et TOURNE à GAUCHE");
break;
case 3:
Serial.println("Robot TOURNE à GAUCHE toute");
break;
case 4:
Serial.println("Robot RECULE et TOURNE à GAUCHE");
break;
case 5:
Serial.println("Robot RECULE");
break;
case 6:
Serial.println("Robot RECULE et TOURNE à DROITE");
break;
case 7:
Serial.println("Robot TOURNE à DROITE toute");
break;
case 8:
Serial.println("Robot AVANCE et TOURNE à DROITE");
break;
default:
break;
}
}
//§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
//:::::::::::::::::::::::::::::::::::::::::::::::::
void ACTION_MOTOR(int zone)
{
switch (zone)
{
case 0:
Serial.println("ACTION MOTOR Robot STOP");
arret();
break;
case 1:
Serial.println("ACTION MOTOR Robot AVANCE");
avance(100);
delay(500);
arret();
break;
case 2:
Serial.println("ACTION MOTOR Robot AVANCE et TOURNE à GAUCHE");
break;
case 3:
Serial.println("ACTION MOTOR Robot TOURNE à GAUCHE toute");
break;
case 4:
Serial.println("ACTION MOTOR Robot RECULE et TOURNE à GAUCHE");
break;
case 5:
Serial.println("ACTION MOTOR Robot RECULE");
break;
case 6:
Serial.println("ACTION MOTOR Robot RECULE et TOURNE à DROITE");
break;
case 7:
Serial.println("ACTION MOTOR Robot TOURNE à DROITE toute");
break;
case 8:
Serial.println("ACTION MOTOR Robot AVANCE et TOURNE à DROITE");
break;
default:
break;
}
}

//:::::::::::::::::::::::::::::::::::::::::::::::::::