Copier onglet + renommer avec nom de mois
Résolu
benzi
Messages postés
84
Statut
Membre
-
benzi Messages postés 84 Statut Membre -
benzi Messages postés 84 Statut Membre -
Bonjour,
Je cherche à copier un onglet nommer "Octobre 11" dans lequel se trouve un tableau avec des formules dont certaines sont protégées dans un autre onglet (en gardant format et formules) et en le renommant "Novembre 11" et ainsi de suite chaque mois.
Est-ce faisable en vba?
Merci de vos réponses.
Dan
Je cherche à copier un onglet nommer "Octobre 11" dans lequel se trouve un tableau avec des formules dont certaines sont protégées dans un autre onglet (en gardant format et formules) et en le renommant "Novembre 11" et ainsi de suite chaque mois.
Est-ce faisable en vba?
Merci de vos réponses.
Dan
3 réponses
-
Cela fait longtemps que je n'ai pas fait de VBA mais tu peux essayer cela.
ActiveWorkbook.Names("NomCellule").Delete Range("F10").Select ActiveWorkbook.Names.Add Name:="AutreNomCellule", RefersToR1C1:= _"=Cellule cible"
Essaie déjà sur une cellule et après du boucle pour le faire sur plusieurs. -
Essaies ce code :
Public Sub AjoutFeuille() Dim nom As String nom = "1 " & ActiveSheet.Name nom = Application.WorksheetFunction.Text(CDate(nom) + 31, "[$-040C] mmmm yy") nom = Application.WorksheetFunction.Proper(nom) ActiveSheet.Copy after:=ActiveSheet ActiveSheet.Name = nom End Sub
-
Bonjour à vous deux,
Merci pour ces réponses, cela fonctionne.
J'ai apporté une modif pour le besoin, voici le code, cela peur servir.
Public Sub CréeOnglet_Click() Dim nom As String nom = "1 " & ActiveSheet.Name nom = Application.WorksheetFunction.Text(CDate(nom) + 31, "[$-040C] mmmm yy") nom = Application.WorksheetFunction.Proper(nom) ActiveSheet.Copy after:=ActiveSheet ActiveSheet.Range("B4:B34").Value = "" ActiveSheet.Range("C4:C34").Value = "" ActiveSheet.Range("D4:D34").Value = "" ActiveSheet.Range("E4:E34").Value = "" ActiveSheet.Range("H4:H34").Value = "" ActiveSheet.Range("K4:K34").Value = "" ActiveSheet.Range("B4").Select ActiveSheet.Name = nom End Sub
Cordialement
Dan