Tablesorter stores all of the table content in a cache, so in order to tell tablesorter that something has changed, you'll need to trigger an update:
$('table').trigger('update');
This this updated demo
$("#ajouterCodePiece").click(function () {
$('#tablesorter-demo-gauche tr:last').after('<tr><td>' + $('#codepiece option:selected').text() + '</td><td>' + $('#mode option:selected').text() + '</td></tr>');
$('#tablesorter-demo-gauche').trigger('update');
});