Macro Excel semainier

Résolu/Fermé
bhen - 9 févr. 2017 à 17:26
 bhen - 11 févr. 2017 à 10:34
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

gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 649
9 févr. 2017 à 22:04
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
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
hich24 Messages postés 1609 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 17 janvier 2023 749
10 févr. 2017 à 17:57
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
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 649
10 févr. 2017 à 19:07
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
hich24 Messages postés 1609 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 17 janvier 2023 749
10 févr. 2017 à 19:49
merci bien gbinforme je suis debutant dans les macro
0
gbinforme Messages postés 14939 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 649
10 févr. 2017 à 21:11
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
Ca fonctionne merci beaucoup pour le coup de main :D !
0