[Resolu] Programmation de base ...

Me revoilà!

#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

boolean bp1;
byte bouton;
int vBouton; //LCD keypad shield value

void setup(){
Serial.begin(9600);
pinMode(A0, INPUT);
lcd.begin(16, 2);
}

void appui(){
vBouton =analogRead(0);	
 if (vBouton >1010) bouton = 0;
 else if (vBouton >715 && vBouton <725) bouton = 1; //select
 else if (vBouton >473 && vBouton <483) bouton = 2; //left
 else if (vBouton >123 && vBouton <133) bouton = 3; //up
}

void loop(){
appui();
Serial.println(bouton,DEC);
delay(150);
if (bouton == 1) bp1 = true;

if (bp1 == true){	
	lcd.setCursor(1,1);
	lcd.print("En cours");
	for (byte i=10; i<15; i++){
	if (bouton == 2) break;
 	lcd.setCursor(i,1);
	lcd.print("*");
	delay(200);
	}
	for (byte i=14; i>9; i--){
	if (bouton == 2) break;
  	lcd.setCursor(i,1);
	lcd.print("-");
	delay(200);
	//bp1 = false;
	}
 }
}

Bon, pourquoi mes "break" conditionnés ne fonctionnent que lors de la sortie des 2 boucles ?
Une bonne âme ?