Créer une feuille Excel et y copier les données d'une autre

Résolu
titikio Messages postés 3 Statut Membre -  
baladur13 Messages postés 47406 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je souhaiterais connaître le code me permettant de créer une nouvelle feuille dans Excel, en la nommant avec le contenu de la cellule B3 de ma feuille d'origine.
La valeur de la cellule B3 sera la combinaison entre la date du jour et un nombre à 4 chiffres.

Ensuite, une fois cette feuille créée, je souhaiterait copier toutes les données de ma feuille d'origine et les coller dans la nouvelle feuille.

Tout ceci dans le but de faire une sauvegarde journalière de l'activité de mes collaborateurs.

6 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Effectivement, je n'avais pas assez testé, sorry.
    Voilà qui doit être mieux.
    Sub DupliquerFeuille()
        Dim sh As Worksheet, sh2 As Worksheet
        Set sh = ActiveSheet
        For Each sh2 In Worksheets
            If sh2.Name = [B3] Then
                Sheets([B3].Value).Activate
                If MsgBox("Feuille " & [B3] & " existante. La supprimer ?", vbCritical + vbYesNo) = vbNo Then
                    sh.Activate
                    Exit Sub
                Else
                    Application.DisplayAlerts = False
                    Sheets([B3].Value).Delete
                    Application.DisplayAlerts = True
                    Exit For
                End If
            End If
        Next sh2
        sh.Copy after:=Sheets(Sheets.Count)
        ActiveSheet.Name = [B3]
        sh.Activate
    End Sub 

    https://www.cjoint.com/c/CAznFbeGn5n

    eric
    1
  2. via55 Messages postés 14396 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour,

    Il faut te servir de l'enregistreur de macro

    Onglet Developpeur Enregistrer une macro

    Tu fais toutes tes manipulations puis tu arrêtes l'enregistrement et tu va voir dans Macros le code (Pas à pas détaillé)

    Tu peux ensuite appeler la macro Macros Exécuter

    ou créer un bouton qui lancera la macro quand on clique dessus
    0
  3. Roberto 1959 Messages postés 24 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour,
    Pourquoi ne pas faire une sauvegarde dans un autre classeur, soit en faisant "fichier enregistrer sous" soit en utilisant un petit logiciel de sauvegarde.
    Si tu perds ton fichier ou s'il est endommagé tu pourras ainsi le récupérer.
    Cordialement
    0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Agit sur la feuille active :
    Sub DupliquerFeuille()
        Dim sh As Worksheet
        Set sh = ActiveSheet
        On Error GoTo suite
        Sheets([B3]).Activate
        On Error GoTo 0
        If MsgBox("Feuille " & [B3] & " existante. La supprimer ?", vbCritical + vbYesNo) = vbNo Then
            Exit Sub
        End If
        Application.DisplayAlerts = False
        Sheets([B3]).Delete
        Application.DisplayAlerts = True
    suite:
        On Error GoTo 0
        sh.Copy after:=Sheets(Sheets.Count)
        ActiveSheet.Name = [B3]
        sh.Activate
    End Sub

    Si la feuille est existante la macro te l'affiche, te propose de la supprimer pour continuer ou abandonner.
    Attention aux caractères interdits dans B3 (/ par exemple).

    eric
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. titikio Messages postés 3 Statut Membre
     
    Bonjour à tous,

    Eriiic, ta macro duplique bien la feuille active, mais ne la nomme pas avec le contenu de la cellule B3 .
    De plus, j'ai un message d'erreur 1004, qui me dit qu'il est impossible de renommer une feuille comme une autre.
    0