Bon j'y comprend rien j'ai trafiqué le code de ma fonction et maintenant sa marche mais je suis incapable de dire pourquoi!!!
enfin merci de ton aide et voici le code de la fonction qui je pense peut servire a d'autre
void DattaLog(){
char nomfichier [13];
long fin;
boolean fichierok;
sprintf(nomfichier, "%02i%02i%04i.txt", day, month, year);//affichage heure et date
sprintf(Buff_afichage, "%02i:%02i:%02i", hour, min, sec);//impresion heure
fichierok= SD.exists(nomfichier);
file =SD.open(nomfichier, FILE_WRITE);
if(file==true){
if (fichierok==false) {
file.print(F("Fichier du : "));
file.print(day);
file.print(F("/"));
file.print(month);
file.print(F("/"));
file.println(year);
file.print(F("heure de lever : "));
file.print(int(Time_ON/3600));
file.print(F("H"));
file.println(int(float (Time_ON)/60-(floor(float(Time_ON)/3600)*60)));
file.print(F("heure de coucher : "));
file.print(int(Time_OFF/3600));
file.print(F("H"));
file.println(int(float (Time_OFF)/60-(floor(float(Time_OFF)/3600)*60)));
file.print(F("Duree d'eclairage : "));
file.print((float(Time_OFF)-float(Time_ON))/3600);
file.println(F("H"));
file.println(F("les donnees sont au format suivant : "));
file.println(F("temps;Temperature piece; Temperature Terra; humidite Piece "));
file.print(Buff_afichage);
file.print(F(";"));
file.print(temp_sonde[sonde_piece]);
file.print(F(";"));
file.print(temp_sonde[sonde_terra]);
file.print(F(";"));
file.println(HumiditePiece);
};
if (fichierok==true) {
fin=file.size();
file.seek(fin+1L);
file.print(Buff_afichage);
file.print(F(";"));
file.print(temp_sonde[sonde_piece]);
file.print(F(";"));
file.print(temp_sonde[sonde_terra]);
file.print(F(";"));
file.println(HumiditePiece);
};
};
file.close();
return;
}