Macro Excel semainier

Résolu
Bonjour,
je cherher à copier l'entièreté du contenu d'une feuille sur la feuille suivante grâce à une macro. Par exemple, je souhaite copier le contenu de la feuille 1 sur la feuille 2, celui de la feuille 2 sur la feuille 3 etc.
Je ne peux malheureusement pas joindre de fichier à mon message parce que le document est confidentiel :/ . Quelqu'un peut-il m'aider ?
Merci d'avance.

3 réponses

  1. Ca fonctionne merci beaucoup pour le coup de main :D !
    0
    1. bonsoir ,
      essaye cette macro
      Sub Macro1()
      '
      ' Macro1 Macro
      '
      Dim numero As String
      Sheets.Add After:=Sheets(Sheets.Count)
      numero = ActiveSheet.Index
      Sheets(numero - 1).Select
      Cells.Select
      Selection.Copy
      Sheets(Sheets.Count).Select
      ActiveSheet.Paste
      End Sub
      0
      1. Contributeur
        Bonsoir hich24,

        Lorsque tu proposes une macro :
        - évites les 'select' qui ne servent qu'à l'enregistreur et alourdissent le traitement.
        - utilises les balises qui facilitent la lecture

        Ta macro peut se résumer à ceci qui fait exactement le même traitement
        Sub Macro1()
        '
        ' Macro1 Macro
        '
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Previous.UsedRange.Cells.Copy Destination:=[A1]
        End Sub
        
        0
      2. merci bien gbinforme je suis debutant dans les macro
        0
      3. Contributeur
        Mais tu sais l'on a tous commencé un jour sans savoir trop par quel bout attaquer !
        Aussi c'est utile d'utiliser l'enregistreur pour avoir la syntaxe mais après tu n'as plus besoin des 'select' qui d'une part alourdissent le code et d'autre part obligent à l'affichage des différents objets que tu manipules.
        Bonne continuation car c'est en pratiquant que l'on progresse et à bientôt sur le forum.
        0
    2. Contributeur
      Bonjour,

      Avec ce code tu devrais le faire : à toi de jouer avec le nom des feuilles.
      Sheets("Feuil1").UsedRange.Copy Destination:=Sheets("Feuil2").Range("A1")
      
      0
      1. Merci pour la réponse,le code fonctionne mais ce n'est pas exactement comme ça que je le voyais. J'aimerais que la macro elle même fasse la démarche de quand on ouvre un nouvelle feuille, elle aille rechercher le contenue de la feuille actuelle -1.
        J'ai un peu de mal à me faire comprendre :p
        Mais je vais chipoter un peut à ton écriture pour voir si je peux trouver un solution.
        Un grand merci en tout cas.
        0