Copier onglet + renommer avec nom de mois

Résolu
benzi Messages postés 66 Date d'inscription   Statut Membre Dernière intervention   -  
benzi Messages postés 66 Date d'inscription   Statut Membre Dernière intervention   -
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

A voir également:

3 réponses

remousse Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   6
 
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.
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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
0
benzi Messages postés 66 Date d'inscription   Statut Membre Dernière intervention   1
 
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
0