Renommer l'onglet actif, le dupliquer, renommer la copie

Bonjour le Forum,

J'essaie de faire un truc assez simple mais mes connaissances en VBA sont limitées.

Je voudrais créer une macro qui :

— renomme l'onglet actif à la date d'aujourd'hui, au format "yymmdd"

— duplique cet onglet en plaçant la copie en 1ère position des onglets, et renomme la copie "EN COURS"

Je trouve des bouts de solution mais jamais de quoi réaliser complètement ce que je veux faire.

Du coup j'ai écrit une macro "sauvage" qui plante, mais qui est le maximum de ce que je saurais faire seul.

Merci pour toute aide.

Sub REINDICER()
'
ActiveSheet.Name = Format(Date, "yymmdd")
ActiveSheet.Copy Before:=Sheets(1)
Sheets(1).Name = "EN COURS"

End Sub

Bonjour gloub !

Plutôt que de dupliquer directement l'onglet actif, tu peux en ajouter un vierge, le renommer, puis y coller le contenu de ton onglet à dupliquer. A tester :

Sub REINDICER()

With ActiveSheet
     .Name = Format(Date, "yymmdd")
     Sheets.Add Before:=Sheets(1)
     Sheets(1).Name = "EN COURS"
     .Cells.Copy Sheets(1).Range("A1")
End With

End Sub

Bonjour,

Merci pour ta réponse ultra-rapide.

Ça marche parfaitement, merci.

Vive le forum.

Bonjour,

Merci pour ta réponse ultra-rapide.

Ça marche parfaitement, merci.

Vive le forum.

Merci du retour,

Attention, pour les 2 renommages, il serait judicieux de vérifier que le nom n'est pas déjà utilisé.

Je te renvoie vers une fonction personnalisée pour faire cela :

Public Function FeuilleExiste(FeuilleAVerifier As String) As Boolean
'Source : https://excel-malin.com/codes-sources-vba/vba-verifier-si-feuille-existe/
'fonction qui vérifie si la "FeuilleAVerifier" existe dans le Classeur actif
'par Excel-Malin.com ( https://excel-malin.com )

On Error GoTo SiErreur
Dim Feuille As Worksheet

    FeuilleExiste = False
    For Each Feuille In Worksheets
        If Feuille.Name = FeuilleAVerifier Then
            FeuilleExiste = True
            Exit Function
        End If
    Next Feuille
Exit Function

SiErreur:
MsgBox "Une erreur s'est produite..."
FeuilleExiste = CVErr(xlErrNA)
End Function

Super, merci +++

Rechercher des sujets similaires à "renommer onglet actif dupliquer copie"