diff --git a/24-25/TP14/arbinaire_morse.c b/24-25/TP14/arbinaire_morse.c
index 6705d7c429be4c1a5c2bbd90b538408f267f034a..f045359af4bb11d3741b58ce61a61ca230b6535e 100644
--- a/24-25/TP14/arbinaire_morse.c
+++ b/24-25/TP14/arbinaire_morse.c
@@ -85,11 +85,20 @@ char recherche(char * morse, tree tree){
 }
 
 
-char * recherche_morse(char letter){
-    char ** table = loadTableMorse("code-morse.txt");
-    char * morse = malloc(6 * sizeof(*morse));
-    morse = strcpy(morse, table[letter - 65]);  // Copie dans la table morse la répresentation Morse de la lettre
-    destroyTable(36, table); // 36 = nombres totale de lettres 
+char * recherche_morse(char letter) {
+    char **table = loadTableMorse("code-morse.txt");
+    // on alloue un char de 6 car le code morse peut être d'une longeur maximum de 5 chars + le charactère de fin
+    char *morse = malloc(6 * sizeof(*morse));
+
+    // on vérifie si c'est une lettre
+    if ((letter >= 'A' && letter <= 'Z')) {
+        morse = strcpy(morse, table[letter - 'A']);
+    // on vérifie si c'est un chiffre  
+    } else if (letter >= '0' && letter <= '9') {
+        morse = strcpy(morse, table[26 + (letter - '0')]);  
+    } 
+
+    destroyTable(36, table); // 36 = 26 lettres + 10 chiffres
     return morse;
 }