XL 2019 Copie Valeur Feuille VBA

  • Initiateur de la discussion Initiateur de la discussion Stepha
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
Re

Bonjour Vincent

Complétement à la bourre 😉 je te propose une autre solution avec ce fichier.

Et je plussoie la remarque de Vincent
Tout ?? Vraiment??
et si tu mets juin 2024.. tu as la meme feuille que juillet 2024... quel intérêt?
Tu devrais revenir vers nous rapidement pour la suite !!! 🤣
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
733
Retour