XL 2019 Copie Valeur Feuille VBA

Stepha

XLDnaute Nouveau
Bonjour,

J'ai dans ma feuil synthèse dans la cellule A1 une date (par exemple 31/07/2024) Je souhaite lorsque je cliquerais sur un bouton qu'une Feuil se crée en dernier et qu'il porte le nom du mois et de l'année, dans ce cas la Feuil devrait s'appeler : Juillet 2024. Et je souhaite qu'arrive dans cette feuil tout ce qu'il y a dans la feuil synthèse mais que les formules se transforment en valeur mais que tout le reste soit préserver comme tel est la Feuil synthése, c'est à dire préserver les formats, les commentaires, les plans, les colonnes masqués.
Evidemment, rien de méchant à faire à la main mais en VBA, je n'ai aucunes compétences.

Merci de votre aide

Stéphane
 

vgendron

XLDnaute Barbatruc
VB:
Sub transferer()

jour = ActiveSheet.Range("A1")
NomFeuille = Format(jour, "mmmm yyyy")

If FeuilleExiste(CStr(NomFeuille)) Then
    MsgBox "la feuille existe déjà"
    Exit Sub
End If
ActiveWorkbook.Sheets("Synthèse").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = NomFeuille
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub


Function FeuilleExiste(NomFeuille As String) As Boolean

    For Each ws In ActiveWorkbook.Sheets
        If ws.Name = NomFeuille Then
            FeuilleExiste = True
            Exit Function
        End If
    Next ws
End Function
 

Stepha

XLDnaute Nouveau
VB:
Sub transferer()

jour = ActiveSheet.Range("A1")
NomFeuille = Format(jour, "mmmm yyyy")

If FeuilleExiste(CStr(NomFeuille)) Then
    MsgBox "la feuille existe déjà"
    Exit Sub
End If
ActiveWorkbook.Sheets("Synthèse").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = NomFeuille
    Cells.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub


Function FeuilleExiste(NomFeuille As String) As Boolean

    For Each ws In ActiveWorkbook.Sheets
        If ws.Name = NomFeuille Then
            FeuilleExiste = True
            Exit Function
        End If
    Next ws
End Function
Merci Vgendron, c'est exactement ce que je souhaitais, le but était de surtout de créer une feuil en rapport à la cellule A1 et de transformer les formiules en valeurs tout en conservant tout le reste. Trop sympa ! Un grand merci !
Stéphane
 

Discussions similaires

Statistiques des forums

Discussions
313 866
Messages
2 103 082
Membres
108 521
dernier inscrit
manouba