Koen a une feuille de calcul qui contient une liste de noms dans la colonne A. Il doit créer une feuille de calcul pour chaque nom de la liste et nommer la feuille de calcul en fonction de ce nom. Koen soupçonne que cela nécessitera une macro, mais il ne sait pas comment s’y prendre.

Cette tâche est relativement facile à réaliser si vous utilisez une macro, et vous pouvez y parvenir de plusieurs manières. Un moyen simple consiste à sélectionner votre liste de noms de feuille de calcul, puis à exécuter la macro suivante.

Sub AddWorksheetsFromSelection()

Dim CurSheet As Worksheet     Dim Source As Range     Dim c As Range

Set CurSheet = ActiveSheet     Set Source = Selection.Cells     Application.ScreenUpdating = False

For Each c In Source         sName = Trim(c.Text)

If Len(sName) > 0 Then                 Worksheets.Add After:=Worksheets(Worksheets.Count)

ActiveSheet.Name = sName         End If     Next c

CurSheet.Activate     Application.ScreenUpdating = True End Sub

La macro saisit essentiellement chaque cellule de votre sélection, crée une nouvelle feuille de calcul, puis renomme cette feuille de calcul en fonction de ce qui se trouvait dans la cellule.

La macro vérifie pour s’assurer qu’une cellule particulière contient réellement quelque chose (vous ne pouvez pas renommer une feuille de calcul s’il n’y a pas de nom dans la cellule), mais elle n’est toujours pas aussi robuste qu’elle pourrait l’être. Il peut y avoir d’autres failles dans votre liste de noms de feuille de calcul qui peuvent entraîner des erreurs lors de l’exécution de la macro. Par exemple, que faire si votre liste contient des doublons? Ou il contient des noms qu’Excel ne permet pas? Celles-ci (et un certain nombre d’autres erreurs) pourraient être anticipées et le code modifié pour gérer de telles situations.

Bien que l’utilisation d’une macro pour créer les feuilles de calcul soit rapide et facile, vous voudrez peut-être noter que vous n’avez pas nécessairement besoin d’utiliser une macro. En fait, vous pouvez utiliser les fonctionnalités de tableau croisé dynamique d’Excel pour créer les feuilles de calcul souhaitées. Supposons, pour les besoins de cet exemple, que vos noms de feuille de calcul souhaités se trouvent dans la colonne A d’une feuille de calcul et que la cellule A1 contient un en-tête pour la colonne (comme «Noms» ou «Feuilles de calcul»).

Ce que vous souhaitez faire est de créer un tableau croisé dynamique basé sur ces noms. Suivez ces étapes:

  1. Sélectionnez un nom de feuille de calcul dans la colonne.

  2. Affichez l’onglet Insertion du ruban.

  3. Cliquez sur l’outil Tableau croisé dynamique, sur le côté gauche du ruban. Excel affiche la boîte de dialogue Créer un tableau croisé dynamique, avec votre plage de noms de feuille de calcul déjà spécifiée. (Voir la figure 1.)

  4. Cliquez sur OK. Excel crée le tableau croisé dynamique et affiche le volet Champs de tableau croisé dynamique sur le côté droit de l’écran.

  5. Dans le volet Champs de tableau croisé dynamique, cochez la case en regard du champ utilisé pour votre liste de feuilles de calcul. (Cela devrait être quelque chose comme « Noms »

ou « Feuilles de calcul ».) Excel ajuste le tableau croisé dynamique.

  1. Faites glisser le nom de champ coché («Noms» ou «Feuilles de calcul») dans la zone Filtres du volet Champs de tableau croisé dynamique. (Voir la figure 2.)

  2. Assurez-vous que l’onglet Analyser du ruban est affiché. (Il aurait dû être affiché par défaut après la création du tableau croisé dynamique.)

  3. Cliquez sur la flèche vers le bas sous l’outil Tableau croisé dynamique, sur le côté gauche du ruban. Excel affiche certains choix que vous pouvez faire.

  4. Cliquez sur la flèche vers le bas sur le côté droit du choix Options. (Ne cliquez pas sur le choix Options lui-même; cela affiche une boîte de dialogue. Vous voulez simplement cliquer sur la flèche vers le bas.)

  5. Choisissez l’option Afficher les pages de filtre de rapport. Excel affiche la boîte de dialogue Afficher les pages de filtre de rapport.

  6. Cliquez sur OK. Excel crée une feuille de calcul pour chaque nom de feuille de calcul dans votre liste.

Il est important de se rendre compte qu’à ce stade, chacune des nouvelles feuilles de calcul contient un petit tableau croisé dynamique. Pour vous débarrasser de ces tableaux croisés dynamiques, vous pourriez penser que vous pouvez créer un jeu de sélection des nouvelles feuilles de calcul (cliquez sur le premier onglet de feuille de calcul, puis maintenez la touche Maj enfoncée lorsque vous cliquez sur le dernier onglet de la feuille de calcul), puis appuyez sur la touche Suppr. Dans mes tests, cependant, cela ne fonctionne pas: Excel ne vous permettra pas d’apporter des modifications aux tableaux croisés dynamiques en mode d’édition de groupe. Au lieu de cela, vous devrez afficher chaque feuille de calcul, à son tour, et supprimer les tableaux croisés dynamiques.

Cela peut sembler beaucoup de travail, mais si vous n’avez besoin de créer toutes ces feuilles de calcul qu’une seule fois, cela peut être un moyen relativement rapide de le faire sans avoir besoin d’appeler une macro.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (13463) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.