why my code I blocking

int led = 13; // Alimentation de la bobine
int hall = A0; // Analyse du capteur a effet Hall
long startTime  = 0;                    // start time for stop watch
long elapsedTime = 0 ;



unsigned long valeur; //Donnees directes du capteru a effet Hall
float tension; // Valeur actuelle en voltage du capteur
float pretension; //  Valeur precedente en voltage du capteur

void setup() // Effectuer une seule fois
{
  pinMode (hall, INPUT); // Declarer capteur a effet Hall comme INPUT
  pinMode (led, OUTPUT); // Declarer led comme OUTPUT
  Serial.begin (9600); // Vitesse du retour des donnees
}


void loop() // Effectuer à chaque fois
{
  pretension = tension; // Tension precedente vs tension actuelle
  valeur = analogRead (hall); // Lecture du capteur a effet Hall
  tension = valeur * 5.0 / 1024; // Formule de calcul du voltage du capteur a effet Hall

  if (2.50 < tension < 2.95)
  {
    if (tension < (pretension - 0.005)) {  // compare them
      elapsedTime =   micros() - startTime;   
      startTime = micros(); 
      digitalWrite(led, HIGH); 
      delay (20);
      digitalWrite(led, LOW); // do something, they are different
while (2.50 < tension < 2.95){
valeur = analogRead (hall);
tension = valeur * 5.0 / 1024;
digitalWrite(led, LOW);}
digitalWrite(led, LOW);
    } 
  }



  Serial.print("tension= ");  // Imprimer les valeurs pecedentes du capteur 
  Serial.println(tension);	




  Serial.println();  // Sauter une ligne lors de l'affichage
  Serial.println();
}

my code stop after the loop why
this code is supposed to blink one time until tension < 2.7 and then continue

If the "while" statement you have there continues to be true, it will continue to execute the while loop and not do anything else.

no I checked and my value change and on the serial print when it enters in the while it stops printing the values
why please

while (2.50 < tension < 2.95)

This does not evaluate like you think it does.
You need to separate the comparisons.

oh okay thank you so I have to use & and

You want the boolean operator &&.
You also need to change it for the earlier IF statement.

KevinAnderson:
You also need to change it for the earlier IF statement.

what do you mean please by this sentence

 if (2.50 < tension < 2.95)

This line of code suffers from the same issue.

yeah thank you it works now