Jeff souhaite créer une copie de sa feuille de calcul «principale», demander le nom de la nouvelle feuille de calcul et la déplacer vers la fin des onglets de la feuille de calcul, le tout à partir d’une macro. Il a essayé d’enregistrer une macro pour ce faire, mais cela n’a pas fonctionné.

Le fait que la macro enregistrée ne fonctionne pas n’est pas terriblement surprenant.

Lorsque vous enregistrez une macro, vous indiquez à Excel d’enregistrer les étapes que vous effectuez.

Ces étapes (dans ce cas) incluaient la dénomination de la feuille de calcul, de sorte que ce nom a été enregistré dans la macro. Essayez d’exécuter la macro une deuxième fois et vous obtiendrez une erreur car la feuille de calcul que vous essayez de créer lors de la deuxième passe a déjà été créée lors de la première.

Dans ce cas, vous devez écrire une macro manuellement. Vous pouvez commencer par enregistrer le processus et vous obtiendrez un code comme le suivant:

Sub Macro1()

Sheets("Master").Select     Sheets("Master").Copy After:=Sheets(3)

Sheets("Master (2)").Select     Sheets("Master (2)").Name = "NewMaster"

End Sub

Notez que le code place la feuille de calcul (après la troisième feuille) et nomme toujours la même chose. Il y a beaucoup à changer ici. Ce que vous voulez faire, c’est le changer en quelque chose comme ce qui suit:

Sub CopyRename()

Dim sName As String     Dim wks As Worksheet     Worksheets("Master").Copy after:=Sheets(Worksheets.Count)

Set wks = ActiveSheet     Do While sName <> wks.Name         sName = Application.InputBox _           (Prompt:="Enter new worksheet name")

On Error Resume Next         wks.Name = sName         On Error GoTo 0     Loop     Set wks = Nothing End Sub

Cette macro copiera la feuille de calcul nommée «maître» à la fin de la liste des feuilles (quel que soit le nombre de feuilles que vous avez dans le classeur) et continuera à demander un nouveau nom de feuille de calcul jusqu’à ce qu’un nom valide soit entré.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3898) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Creating_and_Naming_a_Worksheet_Using_a_Macro [Créer et nommer une feuille de travail à l’aide d’une macro].