Macro copie d'onglet et mois + 1

Bonjour à tous,

J'ai un onglet qui se nomme par exemple "décembre-2013,

et j'essaye de faire une macro pour créer une copie de cet onglet, jusque là pas de problème, mais je voudrais que ce nouvel onglet se nomme janvier-2014, je n'y arrive pas,

voilà mon fichier, et donc l'onglet reçois le nom entré en B1 :

ah oui, et quand l'année est complète, il suffit de renommer B1 du premier onglet par exemple en "Janvier-2015" pour que tous les onglets soient renommés avec l'incrémentation

merci pour votre aide

Bonsoir,

voici un bout de code qui combiné avec le code worksheet_change, te permet d'obtenir le résultat que tu souhaites (enfin si j'ai bien compris)

Sub nouvellefeuille()
ActiveSheet.Copy after:=Worksheets(Worksheets.Count)
Set ns = Worksheets(Worksheets.Count)
 ns.Range("B1") = Application.WorksheetFunction.EoMonth(ns.Range("B1"), 0) + 1
End Sub

merci, ça fonctionne super bien

est ce qu'il est possible par exemple si on revient sur le premier onglet et qu'on veut créer une nouvelle fiche (feuille), un message nous dis que la fiche suivante existe déjà?

de même, j'aimerais bien mettre un message de demande de confirmation de remise à zéro.

Et à l'instant je viens d'essayer de nouveau de créer un nouvel onglet, la première fois ça fonctionne sans problème, mais quand on veut en créer encore une, il y a un message qui s'affiche.

mais l'onglet se crée bien si on clique sur "oui",

merci pour ton aide

[edit]

alors quand la procédure se fait et au moment ou le message apparaît, je vois que le nouvel onglet porte le même nom que le précédent, et quand on clique sur oui il prend bien le nouveau nom.

Bonsoir,

nouvelle version de la macro de création d'un nouveau mois, qui intègre tes demandes.

Sub nouvellefeuille()
no = Format(Application.WorksheetFunction.EoMonth(ActiveSheet.Range("B1"), 0) + 1, "mmmm-yyyy")
On Error GoTo la
If Worksheets(no).Range("B1") = Worksheets(no).Range("B1") Then MsgBox "feuille " & no & " existe déjà": Exit Sub
la:
Application.DisplayAlerts = False
ActiveSheet.Copy after:=Worksheets(Worksheets.Count)
Application.DisplayAlerts = True
Set ns = Worksheets(Worksheets.Count)
 ns.Range("B1") = Application.WorksheetFunction.EoMonth(ns.Range("B1"), 0) + 1
End Sub

et voici pour la macro maz

Sub maz()
'
' maz Macro
'

MsgBox "Sûr de vouloir reinitialiser cette feuille ?", vbYesNo
If vbYes Then
    Range("D3").Select
    ActiveWindow.SmallScroll Down:=12
    Range("D3:F33").Select
    ActiveWindow.SmallScroll Down:=-21
    Selection.ClearContents
    Range("D3").Select
End If
End Sub
Rechercher des sujets similaires à "macro copie onglet mois"