diff --git a/Carre.qml b/Carre.qml
index dc596d6de0d2d820d2f67bf8d6613d7f50c2a452..6c0697d7008b4abcc7f69a7d6703641cdd7d4c3c 100644
--- a/Carre.qml
+++ b/Carre.qml
@@ -5,25 +5,28 @@ import QtQuick.Controls 1.4
 
 Item {
     function envoyer_valeur(app){
-        var i;
-        var j;
-        for(i=0;i<9;i++){
-            for(j=0;j<9;j++){
+        /* appelle changer_valeur et met à jour les valeurs et couleurs de la grille*/
+
+        // appel de la fonction changer_valeur
+        for(var i=0;i<9;i++){
+            for(var j=0;j<9;j++){
                 var carr = repeater.itemAt(i).rep.itemAt(j).input
                 if (app === carr){
                     vueObjetCpt.changer_valeur(app.text,i,j);
                 }
             }
         }
+
+        // signal de retour avec les valeurs
         var values = vueObjetCpt.values;
-        var l
-        var c
-        for(l=0;l<9;l++){
-            for(c=0;c<9;c++){
+        for(var l=0;l<9;l++){
+            for(var c=0;c<9;c++){
                 var v = repeater.itemAt(l).rep.itemAt(c).input
                 v.text=values[l][c];
             }
         }
+
+        // signal de retour avec les couleurs
         var colors = vueObjetCpt.colors;
         for(i=0;i<9;i++){
             for(j=0;j<9;j++){
@@ -34,16 +37,19 @@ Item {
     }
 
     function changer_couleur(app, focus){
-        var i;
-        var j;
-        for(i=0;i<9;i++){
-            for(j=0;j<9;j++){
+        /*  appelle la fonction colorer_voisins et met à jour les couleurs de la grille*/
+
+        // appel de la fonction colorer_voisins
+        for(var i=0;i<9;i++){
+            for(var j=0;j<9;j++){
                 var carr = repeater.itemAt(i).rep.itemAt(j).input
                 if (app === carr){
                     vueObjetCpt.colorer_voisins(i,j,focus);
                 }
             }
         }
+
+        // signal de retour avec les couleurs
         var colors = vueObjetCpt.colors;
         for(i=0;i<9;i++){
             for(j=0;j<9;j++){
@@ -52,6 +58,7 @@ Item {
             }
         }
     }
+
     property alias rep : repeater1
 
     Grid{
diff --git a/debug/grille.o b/debug/grille.o
index 1f2e0a8a098f4fc071d1ffa09c885bfc9e333bc0..d52b1e49189753aa63ee4367db56fd85b1a38002 100644
Binary files a/debug/grille.o and b/debug/grille.o differ
diff --git a/debug/sudoku.exe b/debug/sudoku.exe
index f5741655d50bd35baf1b74b5489c1f934a554072..b9552f7ec608632c298756fc86d36bff4e0b50fa 100644
Binary files a/debug/sudoku.exe and b/debug/sudoku.exe differ
diff --git a/grille.cpp b/grille.cpp
index 434ac3a76d2e26dd58ef9701e7f197a86cd280c5..3f89625c9469fb147471ccf6af65a8e1dd496ad6 100644
--- a/grille.cpp
+++ b/grille.cpp
@@ -122,15 +122,6 @@ void Grille::verif_matrice(){
     emit verifClicked();
 }
 
-void Grille::changer_valeur_bouton(int i){
-    /* fait la même chose que changer_valeur mais à l'aide des boutons de la fenêtre graphique */
-
-    changer_valeur(i, caseselected[0], caseselected[1]);
-
-    // signal à la partie QML
-    emit chiffreActifChanged();
-}
-
 void Grille::grilleToValeurs(){
     /*conversion d'un array nommé grille de taille 9x9 de string à valeurs qui est une QList<QList<QString>> */
 
@@ -177,20 +168,20 @@ void Grille::colorer_voisins( int Carre,int Case,bool focus){
     caseselected[0] = Carre;
     caseselected[1]= Case;
 
+    // reset des couleurs de toute la grille en blanc
     if(focus){
-        // reset les couleurs de toute la grille au blanc
         for(int k =0;k<9;k++){
             for(int j =0;j<9;j++){
                 colors[k][j]="white";
             }
         }
 
-        // recolore les cases du carré selectionné
+        // coloriage des cases du carré selectionné
         for(int k =0;k<9;k++){
             colors[Carre][k]="#eaeaea";
         }
 
-        //colorer les lignes horizontales
+        //coloriage de la ligne horizontale
         switch(Carre/3){
         case 0:
             coloriage_ligne(0,Case/3);
@@ -202,7 +193,8 @@ void Grille::colorer_voisins( int Carre,int Case,bool focus){
             coloriage_ligne(6,Case/3);
             break;
         }
-        // colorer les lignes verticales
+
+        // coloriage de la ligne verticale
         switch(Carre%3){
         case 0:
             coloriage_colonne(0,Case%3);
@@ -214,30 +206,33 @@ void Grille::colorer_voisins( int Carre,int Case,bool focus){
             coloriage_colonne(2,Case%3);
             break;
         }
-        // coloriage des cases avec le même chiffre -- ne fonctionne pour l'instant
-        if (grille[3*(Carre/3)+(Case/3)][3*(Carre%3)+(Case%3)]!= "" && grille[3*(Carre/3)+(Case/3)][3*(Carre%3)+(Case%3)]!="0"){
-            for (int i=0;i<9;i++){
-                for (int j=0;j<9;j++){
-                    if (grille[3*(i/3)+(j/3)][3*(i%3)+(j%3)]==grille[3*(Carre/3)+(Case/3)][3*(Carre%3)+(Case%3)]){
+
+        // coloriage des cases de la grille avec le même chiffre que celui sélectionné quand c'est possible
+        if (grille[3*(Carre/3)+(Case/3)][3*(Carre%3)+(Case%3)]!= "" && grille[3*(Carre/3)+(Case/3)][3*(Carre%3)+(Case%3)]!="0")
+            for (int i=0;i<9;i++)
+                for (int j=0;j<9;j++)
+                    if (grille[3*(i/3)+(j/3)][3*(i%3)+(j%3)]==grille[3*(Carre/3)+(Case/3)][3*(Carre%3)+(Case%3)])
                         colors[i][j]="#9eaac8";
 
-                    }
-                }
-            }
-        }
+        // affichage de la grille actualisée dans la fenêtre de debug
         Print();
 
+        // signal à la partie QML
         emit focusChanged();
     }
 }
 
 void Grille::changer_valeur(int valeur, int Carre,int Case){
+    /* modification de la valeur de la case grille[Carre][Case] */
+
+    //initialisation des valeurs
     string value =to_string(valeur);
-    if (value == "0"){
+    if (value == "0")
         value="";
-    }
-
     int ligne, colonne;
+    bool possible=true;
+
+    // passage d'un système de coordonnée [Carre][Case] à un autre [ligne][colonne]
     switch(Carre){
     case 0:
         colonne = Case%3;
@@ -277,22 +272,19 @@ void Grille::changer_valeur(int valeur, int Carre,int Case){
         break;
     }
 
-    // on teste si les règles sont respectées
-    bool possible=true;
-
-    // test sur le carré
+    // evaluation du respect des règles dans le carré et coloration des cases qui empêchent l'écriture si c'est le cas
     if(value!=""){
         for (int i=0;i<3;i++){
             for (int j=0;j<3;j++){
                 if (grille[3*(ligne/3)+i][3*(colonne/3)+j]==value){
                     possible=false;
-                    cout <<3*((3*(ligne/3)+i)/3)+(3*(colonne/3)+j)/3<<3*((3*(ligne/3)+i)%3)+(3*(colonne/3)+j)%3<<endl;
                     colors[3*((3*(ligne/3)+i)/3)+(3*(colonne/3)+j)/3][3*((3*(ligne/3)+i)%3)+(3*(colonne/3)+j)%3]="#d14545";
                     break;
                 }
             }
         }
-        // test sur les lignes et colonnes
+
+        // evaluation sur les lignes et colonnes et coloration des cases qui empêchent l'écriture si c'est le cas
         for (int j=0;j<9;j++){
             if (grille[j][colonne]==value && j!=ligne){
                 possible=false;
@@ -305,20 +297,28 @@ void Grille::changer_valeur(int valeur, int Carre,int Case){
         }
     }
 
+    // remplissage de la case si c'est possible
     if(possible)
         grille[ligne][colonne]=value;
-    else
-        cout << "impossible de modifier la valeur" << endl;
-
 
+    // update de valeurs
     grilleToValeurs();
 
-    // affichage de la grille
+    // affichage de la grille mise à jour dans la fenêtre de debug
     Print();
+}
 
+void Grille::changer_valeur_bouton(int i){
+    /* fait la même chose que changer_valeur mais à l'aide des boutons de la fenêtre graphique */
+
+    changer_valeur(i, caseselected[0], caseselected[1]);
+
+    // signal à la partie QML
+    emit chiffreActifChanged();
 }
 
 void Grille::Print(){
+    /* affichage de la grille actuelle dans la fenêtre de debug*/
     for(int i=0; i<9; i++) {
         cout << endl;
         for(int j=0; j<9; j++)