Renommer un onglet en date VBA

Bonjour à tous !

J'ai une petite question, possiblement bête . Dans mon 1er classeur j'ai une feuille rappel que j'actualise à la fin de chaque mois et que j'archive ensuite. Lorsque je l'archive la feuille s'appelle feuille 1, Feuille 2, etc..., dans un nouveau classeur que j'incrémente chaque mois. J'aimerais pouvoir les renommer automatiquement en Janvier 2022, Février 2022, ... Sachant que les feuilles se suivent par ordre chronologique. Auriez-vous des idées ?

Bonjour 92Bery,

A défaut d'un fichier (qui est souhaitable) Il faudrait commencer par nous donner le code utilisé actuellement

A+

Bien sûr !

Voici le code :

Sub Archiver()
Dim i As Long, mois As Date
'On selectionne dans le classeur la feuille à archiver en la copiant
    Windows("Fichier.xlsm").Activate
    Sheets("Rappel").Select
    Cells.Select
    Selection.Copy
' On ouvre le fichier archive ou l'on va copier le feuille
    Workbooks.Open "Z: \Chemin\fichierArchive.xlsx").Activate
    Sheets.Add After:=ActiveSheet
'On va copier la feuille en format brut pour garder les valeurs intactes
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
'On va recopier la mise en forme pour avoir un fichier plus joli ??
    Windows("Fichier.xlsm").Activate
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Archive.xlsx").Activate
    Cells.Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False

End Sub

Re,

Voici le code nettement optimisé et qui devrait fonctionner

Sub Archiver()
  Dim Wbk1 As Workbook
  ' On ouvre le fichier archive ou l'on va copier le feuille
  Set Wbk1 = Workbooks.Open("Z:\Chemin\fichierArchive.xlsx")
  ' On copie la feuille dans le classeur
  Workbooks("Fichier.xlsm").Sheets("Rappel").Copy After:=Wbk1.Sheets(Wbk1.Sheets.Count)
  ' Avec la nouvelle feuille créer
  With ActiveSheet
    With .Cells
      .Copy
      .PasteSpecial Paste:=xlPasteValues
    End With
    ' On renomme la feuille
    .Name = Format(Date, "mmmm yyyy")
  End With
  Wbk1.Close SaveChanges:=True
  Set Wbk1 = Nothing
End Sub

A+

Rechercher des sujets similaires à "renommer onglet date vba"