while(strcmp(numUtilisateur, numString)){
strcmp() returns 0 if the strings match, or -1 or +1 if they don't match, depending on whether string 1 comes before or after string 2. It does NOT return a boolean, so this code should not be written as though it does. Explicitly state what you are expecting.
for(i=0; i<TAILLE_NUM_UTI-1; i++) numString[i]=myFile.read();
Suppose you read past the end of the file. Then what happens?
Some Serial.print()s in this code will tell you where you are going wrong. Why are there none?