Bonjour,
Ci-dessous une petite macro pour recopier des données d'une feuille (toujours celle juste avant) sur une autre (la suivante).
Elle fonctionne, mais là encore, j'ai beaucoup d'étapes, et je ne sais pas comment alléger le contenu.
J'ai essayé de mettre moins de ôter protection et protéger, en changeant l'ordre, mais la copie ne fonctionnait pas.
Je me demande si je n'aurais pas intérêt à identifier le nom des 2 feuilles concernées pour les utiliser au lieu de répéter ? Si oui, comment procéder svp ?
J'ai aussi ajouté une question dans le code sur les fonctions Index et Count
Par avance je vous remercie de vos réponses, d'autant plus que je vous sollicite beaucoup depuis mon inscription ;-)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 ' copier données fiche suivi précédent proto ActiveSheet.Unprotect Sheets(1 + (ActiveSheet.Index + Sheets.Count - 2) Mod Sheets.Count).Activate 'j'avais trouvé ça sur Internet; mais est-ce que ceci serait aussi correct ? : 'Sheets((ActiveSheet.Index + Sheets.Count -1) Mod Sheets.Count).Activate Réponse = InputBox("Voulez-vous COPIER la fiche " + ActiveSheet.Name + " ? REPONDRE oui ou non") If Réponse <> "oui" Then Exit Sub ActiveSheet.Unprotect Range("A11:T57").Select Selection.Copy Sheets(1 + ActiveSheet.Index Mod Sheets.Count).Activate Range("A11:T57").Select ActiveSheet.Paste ActiveSheet.Select Application.CutCopyMode = False 'je ne sais pas à quoi cette phrase sert ? ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True, AllowFormattingCells:=True Sheets(1 + (ActiveSheet.Index + Sheets.Count - 2) Mod Sheets.Count).Activate ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:=True, AllowFormattingCells:=True Sheets(1 + ActiveSheet.Index Mod Sheets.Count).Activate
Partager