Comment renommer une feuille à l’aide de VBA dans Excel ?

Lorsque vous ajoutez une nouvelle feuille dans un classeur, vous avez la possibilité de la nommer. Mais vous pouvez également le renommer à tout moment en utilisant la propriété name de la feuille de calcul. Dans ce didacticiel, nous examinerons différentes manières de renommer une feuille ou plusieurs feuilles à l’aide d’un code VBA.

Étapes pour renommer une feuille à l’aide d’un code VBA

  1. Tout d’abord, définissez la feuille que vous souhaitez renommer à l’aide de l’objet feuille de calcul.
  2. Après cela, vous devez utiliser (.Name) pour accéder à la propriété name que vous souhaitez modifier.
  3. Ensuite, tapez un signe égal pour indiquer à VBA la valeur que vous souhaitez utiliser pour renommer la feuille.
  4. À la fin, tapez le nom de la feuille que vous souhaitez utiliser.
définir-la-feuille-que-vous-voulez-renommer

Liens utiles : Exécuter une macroEnregistreur de macrosVisual Basic EditorManuel de macros personnelles

Renommer la feuille active

Si vous souhaitez renommer la feuille active, dans ce cas, vous n’avez pas besoin de définir le nom de la feuille, à la place, vous devez utiliser l’objet ActiveSheet qui indique à VBA de se référer à la feuille active en ce moment. Voici le code.

Activesheet.Name = "mySheet"
renommer-la-feuille-active

Remarque : Pour renommer une feuille, vous n’avez pas besoin de l’activer.

Renommer une feuille à l’aide du numéro de feuille

Comme vous le savez, chaque feuille a un numéro en fonction de sa position dans le classeur. Disons que vous voulez renommer la feuille que vous avez sur le cinquième numéro, le code serait.

Sheets(5).Name = "mySheet5"
renommer-une-feuille-en-utilisant-le-numéro-de-feuille

Lorsque vous exécutez la macro ci-dessus , elle renomme la feuille qui se trouve sur le cinquième numéro.

renommer-la-feuille-comme-par-numéro

Vérifiez si la feuille existe avant de renommer

Si vous essayez de renommer une feuille de calcul qui n’existe pas, VBA vous affichera une erreur, comme ci-dessous.

vérifier si la feuille existe avant de renommer

La solution à ce problème est le code suivant qui utilise FOR EACH , qui peut parcourir toutes les feuilles de calcul pour trouver la feuille que vous avez définie, puis renommer cette feuille.

Sub check_sheet_rename()
Dim ws As Worksheet
Dim mySheet As String
Dim SheetName As String

mySheet = InputBox("enter the name of the sheet that you want to rename.")
SheetName = InputBox("Enter new name for the sheet.")

For Each ws In ThisWorkbook.Worksheets
    If mySheet = ws.Name Then
    ws.Name = SheetName
    End If
Next ws

End Sub

Renommer une feuille en utilisant la valeur d’une cellule ou d’une plage

Vous pouvez également renommer une feuille en prenant la valeur d’une cellule. Disons que la valeur se trouve dans la cellule A1.

Sheets("Sheet1").name = Range("A1").Value

Mais supposons que vous souhaitiez nommer plusieurs feuilles en fonction des valeurs d’une plage de cellules. Dans ce cas, vous devez avoir un code comme celui-ci.

Sub vba_sheet_rename_multiple()
Dim wsCount As Long
Dim rCount As Long
Dim ws As Worksheet
Dim name As Range
Dim i As Long

wsCount = ThisWorkbook.Worksheets.Count
rCount = Range("A1:A10").Rows.Count

'Checks if the count of the names provided is less _
or more than the sheets in the workbook
If wsCount <> rCount Then
    MsgBox "There's some problem with the names provided."
    Exit Sub
Else

    'Check if any of the cells in the name range is empty.
    For Each name In Range("A1:A10")
        If IsEmpty(name) = True Then
            i = i + 1
        End If
    Next name
    If i > 0 Then
        MsgBox "There's is a blank cell in the names range."
        Exit Sub
    End If
End If

'rename each sheet using the value from the range cell by cell.
i = 1

For Each ws In ThisWorkbook.Worksheets
    ws.name = Range("A1:A10").Cells(i, 1).Value
    i = 1 + i
Next ws

End Sub

Lorsque vous exécutez ce code VBA, il vérifie d’abord si les cellules de la plage sont égales au nombre de feuilles que vous avez dans le classeur. Après cela, il vérifiera si toutes les cellules de la plage que vous avez spécifiée ont des valeurs ou non. Et à la fin, renommez toutes les feuilles en utilisant ces noms.

Il vérifiera deux conditions en utilisant IF THEN ELSE puis renommera toutes les feuilles.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *