Bonjour tout le monde

Je reviens une nouvelle fois au sujet "créer une boucle pour sélection et enregistrement de données dans des fichiers successifs à partir d'une même base".
Désolé à l'avance pour tout ce roman mais impossible d'envoyer un fichier trop gros et de résumer en peu de lignes le travail déjà effectué (grâce à vous , merci !)
Je suis arrivé au bout de ce que je voulais faire d'une certaine manière. Mon souhait étant de faire la même chose mais avec une boucle

Voulant a toute fin conserver les formules apres les copiages, lors de mes premiers essais j'avais des problème de liaisons et j'ai résolu ça en ne copiant qu'en valeur et pour des zones précises.
(en gros les copiages de feuilles complètes en supprimant les liaisons derrière, je n'y suis pas arrivé)

J'ai créé un code assez long qui s'occupe donc de ces petits copiages avec parcimonie.
Voilà la tête qu'il a et au bout j'ai bien créé mon premier fichier :

Ma base est Calcul Cadrages TVA DD.xls

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
' j'appelle un fichier modele qui recevra les données
Workbooks.Open Filename:="K:\DIDIER D\Modele Cadrage DD.xlsx"
 
' je remplis le premier onglet "CA par taux" des données necessaires
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA par taux").Range("c4:z173").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA par taux").Range("c4").PasteSpecial Paste:=xlPasteValues
 
' je remplis le deuxieme "Achats IC" 
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("Achats IC").Range("a4:R109").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("Achats IC").Range("a4").PasteSpecial Paste:=xlPasteValues
 
' je remplis le 3e "COMPTA", la je dois recopier 4 zones soit en valeurs formats ou commentaires selon le cas. 
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("C10:e179").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("COMPTA").Range("C10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("H10:O179").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("COMPTA").Range("H10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("R10:W179").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("COMPTA").Range("R10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("Z10:AE179").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("COMPTA").Range("Z10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("AH10:AO179").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("COMPTA").Range("AH10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("AR10:AY179").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("COMPTA").Range("AR10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("A10:AY179").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("COMPTA").Range("A10").PasteSpecial Paste:=xlPasteComments
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("A10:AY179").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("COMPTA").Range("A10").PasteSpecial Paste:=xlPasteFormats
 
' Pour le 4e onglet je dois rentrer une valeur et calcluer la feuille avant de copier
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("TVA OPTIM").Range("A1").Value = "'427"
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("TVA OPTIM").Range("A1").Calculate
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("TVA OPTIM").Range("A1:L47").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("TVA OPTIM").Range("A1").PasteSpecial Paste:=xlPasteValues
 
' Je dois faire un dernier onglet "CA3", ya plein de petits bouts à reprendre...
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("as9").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("as7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("t9:t20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("t7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("v9:v20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("v7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("af9:ag20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("af7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("ak9:al20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("ak7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("an9:ao20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("an7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("aq9:ar20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("aq7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("at9:at20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("at7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("az9:az20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("az7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("bc9:bc20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("bc7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("d34:s51").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("d31").PasteSpecial Paste:=xlPasteAll
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("d9:q20").Copy
Workbooks("Modele cadrage DD.xlsx").Sheets("CA3").Range("d7").PasteSpecial Paste:=xlPasteValues
 
' et à la fin j'enregistre sous un nom 427 etc...
ActiveWorkbook.SaveAs Filename:="K:\FISCALITE\TVA\2018\01 - Cadrages TVA\11.2018\427 - Cadrage CA+TVA 11.2018 DD.xlsx" , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
 
' puis je poursuis de la même maniere pour générer le fichier suivant 
' sauf que les zones ne sont plus placées au même endroit dans la base, elles sont juste 200 lignes plus bas... et ce pour tous les onglets..
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA par taux").Range("c204:z373").Copy
' Je recopie dans ce fichier 427...
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA par taux").Range("c4").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("Achats IC").Range("a5204:R309").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("Achats IC").Range("a4").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("C210:e5379").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("COMPTA").Range("c10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("H210:O5379").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("COMPTA").Range("h10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("R210:W5379").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("COMPTA").Range("r10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("Z210:AE5379").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("COMPTA").Range("z10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("AH210:AO5379").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("COMPTA").Range("ah10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("AR210:AY5379").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("COMPTA").Range("ar10").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("A210:AY5379").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("COMPTA").Range("a10").PasteSpecial Paste:=xlPasteComments
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("COMPTA").Range("A210:AY5379").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("COMPTA").Range("a10").PasteSpecial Paste:=xlPasteFormats
 
' Là je saute pas de 200 lignes mais rentre une nouvelle valeur : K32
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("TVA OPTIM").Range("A1").Value = "'K32"
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("TVA OPTIM").Range("A1").Calculate
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("TVA OPTIM").Range("A1:L47").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("TVA OPTIM").Range("A1").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("as5208").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("as7").PasteSpecial Paste:=xlPasteValues
 
' je remplis "CA3" de la même manière qu'avant
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("t5208:t5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("t7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("v5208:v5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("v7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("af5208:ag5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("af7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("ak5208:al5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("ak7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("an5208:ao5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("an7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("aq5208:ar5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("aq7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("at5208:at5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("at7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("az5208:az5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("az7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("bc5208:bc5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("bc7").PasteSpecial Paste:=xlPasteValues
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("d5233:s5250").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("d31").PasteSpecial Paste:=xlPasteAll
Workbooks("Calcul Cadrages TVA DD.xlsm").Sheets("CA3").Range("d5208:q5219").Copy
Workbooks("427 - Cadrage CA+TVA 11.2018 DD.xlsx").Sheets("CA3").Range("d7").PasteSpecial Paste:=xlPasteValues
 
' et j'enregistre sous le nouveau nom K32
ActiveWorkbook.SaveAs Filename:="K:\FISCALITE\TVA\2018\01 - Cadrages TVA\11.2018\K32 - Cadrage CA+TVA 11.2018 DD.xlsx" , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Voilà mon code continue comme ça pendant longtemps, car je dois générer 30 fichiers environ. du coup je dois découper ma macro en trois bouts c'est trop long.

J'ai créé un petit tableau pour générer ces lignes de codes automatiquement (Au cas ou des modifs surviennent et pour refiler le fichier à d'autres personnes qui auront d'autres codes)
C'est déjà une petite usine à gaz rien que pour les créer.. je fais ça par concatener, recherchev..

Comment faire une boucle sur mon code sachant que les données à recopier se répètent exactement toutes les 200 lignes ?

Je remercie tous ceux qui m'ont lu jusqu'au bout déjà, ensuite tous ceux qui jetterons un œil sur mon problème. en effet bientôt je devrai redonner la technique à tout le service..,
faudrait que ce code soit beaucoup plus simple pour faire passer la pilule..

Merci à vous et bon réveillon !!!