Une des astuces consiste à utiliser la célèbre librairie JavaScript jQuery.
Tout d'abord, à l'intérieur des balises "head", on ajoute un sélecteur CSS (que je nommerai "hiddenCols", mais c'est au choix) qui par défaut va faire disparaître les colonnes choisies. J'utilise la balise "style" mais vous pouvez très bien le mettre dans un fichier CSS à part.

<style type="text/css">
.hiddenCols {
     display: none;
}
</style>

Toujours à l'intérieur de <head>, nous allons incorporer la librairie jQuery (téléchargeable ici).

<script type="text/javascript" src="jquery.js"></script>

Ensuite, à l'intérieur de <body>, nous allons créer un petit lien qui va permettre la permutation entre les deux vues (par défaut nous allons choisir la vue simplifiée).

<a href="#" id="msg">Vue détaillée</a>

Puis notre tableau...

<table border="1" cellspacing="0" cellpadding="3">
	<tr>
		<th>Entête 1</th>
		<th class="hiddenCols">Entête 2</th>
		<th>Entête 3</th>
		<th class="hiddenCols">Entête 4</th>
		<th>Entête 5</th>
	<tr>
	<tr>
		<td>Blabla 1</td>
		<td class="hiddenCols">Blabla 2</td>
		<td>Blabla 3</td>
		<td class="hiddenCols">Blabla 4</td>
		<td>Blabla 5</td>
	</tr>
	<tr>
		<td>Blabla 1</td>
		<td class="hiddenCols">Blabla 2</td>
		<td>Blabla 3</td>
		<td class="hiddenCols">Blabla 4</td>
		<td>Blabla 5</td>
	</tr>
	<tr>
		<td>Blabla 1</td>
		<td class="hiddenCols">Blabla 2</td>
		<td>Blabla 3</td>
		<td class="hiddenCols">Blabla 4</td>
		<td>Blabla 5</td>
	</tr>
	<tr>
		<td>Blabla 1</td>
		<td class="hiddenCols">Blabla 2</td>
		<td>Blabla 3</td>
		<td class="hiddenCols">Blabla 4</td>
		<td>Blabla 5</td>
	</tr>
</table>

Et enfin le script JavaScript.

$(document).ready(function(){
	$("a#msg").click(function(){
		if ($(".hiddenCols").css("display") == "none"){
			$(".hiddenCols").css("display", "table-cell");
			$("#msg").html("Vue simplifiée");
		} else {
			$(".hiddenCols").css("display", "none");
			$("#msg").html("Vue détaillée");
		}
	});
});

Le script est assez simple à comprendre. On associe l'événement "click" au lien précédemment crée, puis on effectue une condition sur le sélecteur ".hiddenCols". Si la valeur de l'attribut "display" est "none", on modifie la valeur en "table-cell" et le texte associé au lien, sinon on remet la valeur en "none" et le texte "Vue détaillée". Epicétou, comme dirait l'autre ! Voici la démo disponible ici.

"Hey, tu as bien écrit plus haut que c'est une des astuces possibles ?!"

Oui, il existe une autre astuce pour faire la même chose, qui ne nécessite pas l'utilisation de jQuery. Cette astuce consiste à récupérer dans une variable tous les sélecteurs ".hiddenCols" (grâce à getElementsByClassName('hiddenCols'); ou querySelectorAll('.hiddenCols');), à faire une boucle sur tous les sélecteurs et effectuer une condition similaire au script mis plus haut. Le hic dans tout ça est qu'il semble y avoir un problème d'implémentation de ces deux fonctions dans IE... Mais bon, tout le monde utilise un vrai navigateur tel que Firefox maintenant, non? :D.