Générer une nouvelle feuille en reprenant des valeurs m-1

bonjour,

besoin d'aide merci d avance

voila se que j ai écris

Sub dupliquer()

Dim MoisSaisie As String
MoisSaisie = InputBox("Mois")

If MoisSaisie = "" Then
Exit Sub
End If

Sheets("vierge").Copy after:=Sheets(Sheets.Count)

ActiveSheet.Name = MoisSaisie

ActiveSheet.Range("Mois").Value = MoisSaisie

End Sub

ça marche ....mais (il y a forcement un mais )

je génère une nouvelle feuille par le bouton en bas du tableau ex(mars 22) l onglet mars 22 est créé mars 22 s inscrit dans le tableau

se que je n arrive pas à faire c est reprendre les valeur de la colonne index de fevrier 22 pour les replacer dans la colonne index n-1de la nouvelle feuille (mars 22) et ainsi de suite pour les mois suivants

dans l attente de votre aide je vous souhaite une bonne fin d après-midi

zzr1400


Bonjour

Peut être quelque chose dans ce genre (même si c'est perfectible)

Sub dupliquer()

Dim MoisSaisie As String
MoisSaisie = InputBox("Mois")

    If MoisSaisie = "" Then
        Exit Sub
    End If

    Sheets("vierge").Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = MoisSaisie
    ActiveSheet.Range("Mois").Value = MoisSaisie

    ActiveSheet.Previous.Range("E4:E7").Copy  
    Sheets(MoisSaisie).Range("D4:D7").Select
    ActiveSheet.Paste
    ActiveSheet.Previous.Range("E9:E21").Copy
    Sheets(MoisSaisie).Range("D9:D21").Select
    ActiveSheet.Paste

End Sub

En souhaitant que ça puisse vous aider

Bonjour

En repassant ce matin j'ai pensé à optimiser le code d'hier et donc tu peux avoir ça :

Sub dupliquer()

Dim MoisSaisie As String
MoisSaisie = InputBox("Mois")

    If MoisSaisie = "" Then
        Exit Sub
    End If

    Sheets("vierge").Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = MoisSaisie
    ActiveSheet.Range("Mois").Value = MoisSaisie
    ThisWorkbook.ActiveSheet.Previous.Range("E4:E7").Copy ThisWorkbook.Sheets(MoisSaisie).Range("D4:D7")
    ThisWorkbook.ActiveSheet.Previous.Range("E9:E21").Copy ThisWorkbook.Sheets(MoisSaisie).Range("D9:D21")

End Sub

Évidemment si tu utilises des plages nommées, tu peux remplacer l'expression Range("E4:E7") par Range("nom de la plage").

Bonne journée

Rechercher des sujets similaires à "generer nouvelle feuille reprenant valeurs"