diff --git a/src/affichage.c b/src/affichage.c
index 04583e777b2dac486194a47f6ecd088cb7949b70..e7ebf93adf761e14cb6b4e93129cb0e5ca61ad3a 100644
--- a/src/affichage.c
+++ b/src/affichage.c
@@ -369,6 +369,8 @@ int affichage_menu_configuration()
             printf("Unable to load bitmap: %s\n", SDL_GetError());
             return 1;
         }
+    SDL_SetColorKey(map_choisie, SDL_SRCCOLORKEY, SDL_MapRGB(map_choisie->format, 0, 0, 255));
+
     SDL_Surface* previsualisation[5]={NULL};
     SDL_Rect position_carte[5];
     char* path[5];
@@ -378,6 +380,8 @@ int affichage_menu_configuration()
     path[3]="../resources/Skins/Map_4.bmp";
     path[4]="../resources/Skins/autre_map.bmp";
 
+    int c=-1;
+
     for(i=0;i<5;i++)
     {
         previsualisation[i]=SDL_LoadBMP(path[i]);
@@ -399,6 +403,14 @@ int affichage_menu_configuration()
                 etat=FERMER;
                 break;
             case SDL_MOUSEBUTTONDOWN:
+                for(i=0;i<5;i++)
+                {
+                    if(event.button.x>position_carte[i].x&&event.button.x<position_carte[i].x+previsualisation[0]->w&&event.button.y>position_carte[i].y&&event.button.y<position_carte[i].y+previsualisation[0]->h)
+                    {
+                        c=i;
+                        selectionnerCarte(obtenirNomsCartes()[c]);
+                    }
+                }
                 if(event.button.x>posTextes[0].x&&event.button.x<posTextes[0].x+textes[0].w)
                     j=1;
                 if(event.button.x>posTextes[3].x&&event.button.x<posTextes[3].x+textes[3].w)
@@ -443,6 +455,7 @@ int affichage_menu_configuration()
         {
             SDL_BlitSurface(previsualisation[i],NULL,ecran,&position_carte[i]);
         }
+        if(c!=-1) SDL_BlitSurface(map_choisie,NULL,ecran,&position_carte[c]);
         SDL_Flip(ecran);
         p=0;
         j=0;
diff --git a/src/controleur.c b/src/controleur.c
index 812189bc397294310f7f61dcebd3661e639c266b..88cd8f269d7cdd636301a85edbcee2331335e7bc 100644
--- a/src/controleur.c
+++ b/src/controleur.c
@@ -276,11 +276,14 @@ int selectionnerCarte(char * nomCarte){
     if(initCarte(&packGlobal.Cartes_Package[i],getCarte(partieGlobale),&packGlobal)==0){
         return 0;
     }
-
+    printf("la carte selectionnee est %s\n",nomCarte);
     // Positionnement des Personnages sur la Carte_Jeu.
     setOnFirstJoueur(partieGlobale->participants);
+
     for(i=0;i<TAILLE_MAX_GROUPE;i++){
-        setPosition(getCurrentJoueur(partieGlobale->participants)->groupe[i],&partieGlobale->c->Tab_Cases[6+i][0]);
+        printf("test1\n");
+        setPosition(getCurrentJoueur(partieGlobale->participants)->groupe[i],&partieGlobale->c->Tab_Cases[6+i][0]); //le probleme est ici
+        printf("test2\n");
     }
     nextJoueur(partieGlobale->participants);
     for(i=0;i<TAILLE_MAX_GROUPE;i++){