public void setValueAt(Object value, int row, int col) {
	        //On interdit la modification sur certaines colonnes !
	    	
	    	// Matière modifiée.
	    	if(col == 0 && !value.equals("")) {
	    		Field theField = null;
	    		// On récupère le nom de la matière, puis on retrouve le bon objet Field en fonction de son nom
	    		for (Field field : dataStore.getFields()) {
	    			if(field.toString().equals(value)) {
	    				theField = field;
	    			}
	    		}
	    		
	    		// On vérifie que la matière n'existe pas déjà
	    		int count = 0;
	    		for (int i = 0; i < selectedTeacher.getFields().size(); i++) {
	    			if(selectedTeacher.getFields().get(i).toString().equals(value) && i != row) {
	    				count++;
	    			}
	    		}
	    		
	    		// Si l'utilisateur met à jour une matière, alors on modifie le field dans l'ArrayList.
	    		if (count == 0) {
	    			if(row < selectedTeacher.getFields().size()) {
		    			selectedTeacher.updateFieldAt(row, theField);
		    		} else {
			    		selectedTeacher.addField(theField);
		    		}
	    			this.data[row][col] = value;
	    		} else {
	    			JOptionPane.showMessageDialog(null, "Cette matière est déjà attribuée pour cet enseignant !");
	    		}
	    	}
	     }