Macro Excel semainier

Résolu
bhen -  
 bhen -
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. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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. bhen
       
      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
  2. hich24 Messages postés 1686 Statut Membre 753
     
    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. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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. hich24 Messages postés 1686 Statut Membre 753
       
      merci bien gbinforme je suis debutant dans les macro
      0
    3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      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
  3. bhen
     
    Ca fonctionne merci beaucoup pour le coup de main :D !
    0