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 Sub Placer() vehicule = Cells(1, 18) ligne_début = InputBox("Placer : Ligne début ?") ligne_fin = InputBox("Placer : Ligne fin ?") ' balaye toutes lignes du tableau "planning" For Ligne = ligne_début To ligne_fin test = 0 If Cells(Ligne, 3) <> vehicule Then GoTo saut3: type_piece = Cells(Ligne, 2) For col_source = 36 To 48 For lig_source = 7 To 500 'si pas de référence, alors saut2 If Sheets(vehicule).Cells(lig_source, 1) = "" Then GoTo saut2: ' teste type_pièce et soit manquants, ' soit (sur J+3 : stock + encours camions + placé < stock mini) If type_piece = Sheets(vehicule).Cells(lig_source, 3) And _ (Sheets(vehicule).Cells(lig_source, col_source) < 0 Or _ (col_source >= 38 And _ Sheets(vehicule).Cells(lig_source, 6) + _ Sheets(vehicule).Cells(lig_source, 8) < _ Sheets(vehicule).Cells(lig_source, 7))) _ Then GoSub calandres_exotiques: _ Cells(Ligne, 12) = Cells(Ligne, 9) * Sheets(vehicule).Cells(lig_source, 5): _ Sheets(vehicule).Cells(lig_source, 8) = Sheets(vehicule).Cells(lig_source, 8) + _ Int(Cells(Ligne, 12) * (1 - Sheets(vehicule).Cells(4, 2))): _ Cells(Ligne, 5) = Sheets(vehicule).Cells(lig_source, 4): _ Cells(Ligne, 4) = Sheets(vehicule).Cells(lig_source, 1): _ Cells(Ligne, 10) = Sheets(vehicule).Cells(lig_source, 5): _ Cells(Ligne, 4) = Sheets(vehicule).Cells(lig_source, 1): _ test = 1: GoTo saut saut2: Next lig_source Next col_source saut: If test = 1 And col_source = 36 _ Then Cells(Ligne, 13) = "j" & date_urgence If test = 1 And col_source = 37 _ Then Cells(Ligne, 13) = "j" & date_urgence If test = 1 And col_source = 38 _ Then Cells(Ligne, 13) = "j" & date_urgence saut3: Next Ligne End calandres_exotiques: ' rajoute le deuxième tour si calandre exotique en 2 tours ref = Sheets(vehicule).Cells(lig_source, 2) test_2tours = 0 For lig_2tours = 16 To 25 If Sheets(vehicule).Cells(lig_2tours, 52) = ref Then test_2tours = 0 Next If test_2tours = 0 Then GoTo fin fin: Return End Sub Sub enlever() vehicule = Cells(1, 18) ligne_début = InputBox("Enlever : Ligne début ?") ligne_fin = InputBox("Enlever : Ligne fin ?") ' balaye toutes lignes du tableau "planning" For Ligne = ligne_début To ligne_fin test = 0 If Cells(Ligne, 3) <> vehicule Then Ligne = Ligne + 1 End If If Cells(Ligne, 12) <> 0 Then GoSub enleve_ligne enleve_ligne: '============ Cells(Ligne, 2) = "" Cells(Ligne, 3) = "" Cells(Ligne, 4) = "" Cells(Ligne, 5) = "" Cells(Ligne, 6) = "" Cells(Ligne, 7) = "" Cells(Ligne, 8) = "" Cells(Ligne, 9) = "" Cells(Ligne, 10) = "" Cells(Ligne, 12) = "" Next End Sub
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149 Sub MAJ() Range("F7:F450,h7:O450,R7:R450,T7:AH450,T5:AH5").Select: Selection.ClearContents: Range("A1").Select 'efface données précédentes=>besoin stock, reste à fab fichierdest = ActiveWorkbook.Name feuilledest = ActiveSheet.Name chemin = Range("B1"): fichier = Range("B2"): feuille = Range("B3") 'chemin sur réseau Workbooks.Open Filename:=chemin + "\" + fichier Windows(fichierdest).Activate ' Calcul_stock_et_reste Macro ' Macro enregistrée le 06/06/2007 par sandrine.ruffet 'format nombre For r = 2 To 600 'test ligne vide à mettre pour fin extraction While Not Workbooks(fichier).Sheets(feuille).Range("B" & r & "").Value = "" If Not Workbooks(fichier).Sheets(feuille).Range("B" & r & "").Value = "" Then Workbooks(fichier).Sheets(feuille).Range("B" & r & "").Value = Workbooks(fichier).Sheets(feuille).Range("B" & r & "").Value * 1 End If r = r + 1 Wend Next LigneMaxExtraction = r - 1 Windows(fichierdest).Activate Sheets(feuilledest).Activate 'Workbooks(fichierdest).Sheets(feuilledest).Select ' Paramètres LigneDebut = 7 ' Mise à jour des données du rapport ' principe : pour chaque ligne du rapport à traiter ' on recherche la ligne de la Ref Po dans la feille extraction ' et on met à jour les données de la feuille rapport i = LigneDebut While Not Workbooks(fichierdest).Sheets(feuilledest).Range("A" & i & "").Value = "" ' RefPo = Range("A" & i) RefPo = CLng(Workbooks(fichierdest).Sheets(feuilledest).Range("A" & i & "").Value) 'MsgBox ("Référence PO =" & RefPo) ' Rechercher la ligne de la RefPo dans la feuille d'extraction ' on compare avec la colonne B de la feuille d'extraction j = 2 While Workbooks(fichier).Sheets(feuille).Range("B" & j & "").Value <> RefPo And j < LigneMaxExtraction j = j + 1 Wend ' Si il y a une correspondance dans la feuille d'extraction If Workbooks(fichier).Sheets(feuille).Range("B" & j & "").Value = RefPo Then ' mise à jour de la feuille de rapport ' mise à jour du stock Workbooks(fichierdest).Sheets(feuilledest).Range("F" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("F" & j & "").Value ' mise à jour du reste J ' mise à jour du reste J+1 Workbooks(fichierdest).Sheets(feuilledest).Range("J" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("J" & j & "").Value ' mise à jour du reste J+2 Workbooks(fichierdest).Sheets(feuilledest).Range("K" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("L" & j & "").Value ' mise à jour du reste J+3 Workbooks(fichierdest).Sheets(feuilledest).Range("L" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("N" & j & "").Value ' mise à jour du reste J+4 Workbooks(fichierdest).Sheets(feuilledest).Range("M" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("P" & j & "").Value ' mise à jour du reste J+5 Workbooks(fichierdest).Sheets(feuilledest).Range("N" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("R" & j & "").Value ' mise à jour du reste J+6 Workbooks(fichierdest).Sheets(feuilledest).Range("O" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("T" & j & "").Value ' mise à jour du reste J+7 Workbooks(fichierdest).Sheets(feuilledest).Range("P" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("V" & j & "").Value ' mise à jour du reste J+8 Workbooks(fichierdest).Sheets(feuilledest).Range("Q" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("X" & j & "").Value ' mise à jour du reste J+9 Workbooks(fichierdest).Sheets(feuilledest).Range("R" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("Z" & j & "").Value ' mise à jour du reste J+10 Workbooks(fichierdest).Sheets(feuilledest).Range("S" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("AB" & j & "").Value ' mise à jour du reste J+11 Workbooks(fichierdest).Sheets(feuilledest).Range("T" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("AD" & j & "").Value ' mise à jour du reste J Workbooks(fichierdest).Sheets(feuilledest).Range("U" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("AF" & j & "").Value ' mise à jour du reste J+1 Workbooks(fichierdest).Sheets(feuilledest).Range("W" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("K" & j & "").Value ' mise à jour du reste J+2 Workbooks(fichierdest).Sheets(feuilledest).Range("X" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("M" & j & "").Value ' mise à jour du reste J+3 Workbooks(fichierdest).Sheets(feuilledest).Range("Y" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("O" & j & "").Value ' mise à jour du reste J+4 Workbooks(fichierdest).Sheets(feuilledest).Range("Z" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("Q" & j & "").Value ' mise à jour du reste J+6 Workbooks(fichierdest).Sheets(feuilledest).Range("AA" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("S" & j & "").Value ' mise à jour du reste J+7 Workbooks(fichierdest).Sheets(feuilledest).Range("AB" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("U" & j & "").Value ' mise à jour du reste J+8 Workbooks(fichierdest).Sheets(feuilledest).Range("AC" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("W" & j & "").Value ' mise à jour du reste J+9 Workbooks(fichierdest).Sheets(feuilledest).Range("AD" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("Y" & j & "").Value ' mise à jour du reste J+10 Workbooks(fichierdest).Sheets(feuilledest).Range("AE" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("AA" & j & "").Value ' mise à jour du reste J+11 Workbooks(fichierdest).Sheets(feuilledest).Range("AF" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("AC" & j & "").Value ' mise à jour du reste J+12 Workbooks(fichierdest).Sheets(feuilledest).Range("AG" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("AE" & j & "").Value ' mise à jour du reste J+11 Workbooks(fichierdest).Sheets(feuilledest).Range("AH" & i & "").Value = Workbooks(fichier).Sheets(feuille).Range("AG" & j & "").Value ' mise à jour du reste J+12 Else MsgBox ("Ref PO " & RefPo & " non trouvée dans la feuille d'extraction !") End If i = i + 1 Wend ' Stocker le dernier numéro de ligne LigneFin = i - 1 ' gérer la couleur des cellules ' Mettre en rouge les cellules <= 0 ' Mettre en orange les cellules >0 et <=10 ' Mettre en noir les cellules >10 'For Each c In Workbooks(fichierdest).Sheets(feuilledest).Range("E" & LigneDebut & ":S" & LigneFin & "") 'If c.Value <= 0 Then ' c.Font.Color = RGB(255, 0, 0) ' remplir la cellule en rouge 'c.Interior.ColorIndex = 3 ' c.Interior.Pattern = xlSolid 'ElseIf c.Value > 0 And c.Value <= 10 Then ' c.Font.Color = RGB(128, 0, 0) ' 4 remplir la cellule en orange clair ' c.Interior.ColorIndex = 45 ' c.Interior.Pattern = xlSolid ' Else ' c.Font.Color = RGB(0, 0, 0) ' Aucun remplissage ' c.Interior.ColorIndex = xlNone 'End If 'Next c ' Fixer la date de dernière mise à jour Workbooks(fichierdest).Sheets(feuilledest).Range("C2").Value = "Dernière date de mise à jour : " & Now MsgBox ("Calcul terminé !") End Sub
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208 Sub Primaire() ''i est un numéro de ligne Dim i As Integer Dim a As Range, f As Range, e As Range, g As Range, z As Range, h As Range, k As Range, l As Range, m As Range, n As Range, o As Range, x As Range, p As Range, q As Range, t As Range, ab As Range, fi As Range Dim j As Boolean 'idem Dim ligne_début As String Dim ligne_fin As String Dim Ligne As Integer 'Invite pour la ligne de départ ligne_début = InputBox("Placer : Ligne début ?") 'La ligne de début doit être numérique et supérieure ou égale à 17 Do Until IsNumeric(ligne_début) And ligne_début >= 17 ligne_début = InputBox("N'importe quoi! Il faut donner un numéro de ligne Supérieur ou égal à 15!!!") Loop 'Invite pour la ligne de fin ligne_fin = InputBox("Placer : Ligne fin ?") 'La ligne de fin doit être numérique et supérieure à la ligne de début Do Until IsNumeric(ligne_fin) And ligne_fin > ligne_début ligne_fin = InputBox("N'importe quoi! Il faut donner un numéro de ligne Supérieur à la ligne de départ. Jean-phi !!!") Loop 'Pour i de la ligne de début a la derniere ligne choisie For i = ligne_début To ligne_fin 'a est la CELLULE (i,2) Set a = Sheets("planning").Cells(i, 2) 'f est la CELLULE (i,6) Set f = Sheets("planning").Cells(i, 6) 'Si a = "" If a = "Bourrelets 84 " Then f = "priworwag" Else f = "pri2" End If 'Ligne suivante Next i For i = ligne_début To ligne_fin 'a est la CELLULE (i,5) Set a = Sheets("planning").Cells(i, 2) 'f est la CELLULE (i,7) Set f = Sheets("planning").Cells(i, 6) 'Si a = vide alors If a = "" Then f = "" End If 'Ligne suivante Next i For i = ligne_début To ligne_fin 'a est la CELLULE (i,5) Set a = Sheets("planning").Cells(i, 220) 'f est la CELLULE (i,7) Set f = Sheets("planning").Cells(i, 221) Set e = Sheets("planning").Cells(i, 223) Set z = Sheets("planning").Cells(i, 224) Set h = Sheets("planning").Cells(i, 225) Set t = Sheets("planning").Cells(i, 227) Set k = Sheets("planning").Cells(i, 228) Set l = Sheets("planning").Cells(i, 229) Set m = Sheets("planning").Cells(i, 230) Set n = Sheets("planning").Cells(i, 231) Set o = Sheets("planning").Cells(i, 232) Set x = Sheets("planning").Cells(i, 233) Set q = Sheets("planning").Cells(i, 234) 'Si a = vide alors If a = "" Then f = "durcisseur" e = "0" z = "0" h = "0" t = "0" k = "1" l = "1" m = "1" n = "1" o = "1" x = "1" q = "1" End If 'Ligne suivante Next i For i = ligne_début To ligne_fin 'a est la CELLULE (i,4) Set a = Sheets("planning").Cells(i, 2) 'f est la CELLULE (i,5) Set f = Sheets("planning").Cells(i, 7) 'Si a = "Salut" If a = "BOUR AR E84" Then f = "Vernis mat" Else f = "vernis" End If 'Ligne suivante Next i For i = ligne_début To ligne_fin 'a est la CELLULE (i,5) Set a = Sheets("planning").Cells(i, 2) 'f est la CELLULE (i,7) Set f = Sheets("planning").Cells(i, 7) 'Si a = vide alors If a = "" Then f = "" End If 'Ligne suivante Next i For i = ligne_début To ligne_fin 'a est la CELLULE (i,5) Set ab = Sheets("planning").Cells(13, 14) 'f est la CELLULE (i,7) Set fi = Sheets("planning").Cells(i, 8) 'Si a = vide alors If ab = "jour" Then fi = "12" End If 'Ligne suivante Next i End Sub
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 Public ligne_vide As Integer Public ligne_debut As Integer Public ligne_fin As Integer Public vide As Boolean Sub contrainte() Dim Ligne ligne_debut = InputBox("Début de tri") Ligne = ligne_debut ligne_fin = InputBox("Fin de tri") Do While Ligne <> ligne_fin If Cells(Ligne, 5).Value = "broy" And Cells(Ligne + 1, 5).Value = "nnac" Or _ Cells(Ligne, 5).Value = "rvif" And Cells(Ligne + 1, 5).Value = "bgla" Then Rows(Ligne + 1).Insert ligne_fin = ligne_fin + 1 End If Ligne = Ligne + 1 Loop chercher_cellulevide If vide = True Then ligne_fin_cut = ligne_fin Do If Cells(ligne_fin_cut, 5).Value <> "nnac" And Cells(ligne_fin_cut - 1, 5).Value <> "broy" Or _ Cells(ligne_fin_cut, 5).Value <> "bgla" And Cells(ligne_fin_cut - 1, 5).Value <> "rvif" Then Rows(ligne_fin_cut).Cut recherche_vide Rows(ligne_vide).Insert If ligne_vide > ligne_fin_cut Then Rows(ligne_vide).Delete Else Rows(ligne_vide + 1).Delete End If ligne_fin = ligne_fin - 1 vide = False chercher_cellulevide Else ligne_fin_cut = ligne_fin_cut - 1 End If Loop While vide = True And ligne_fin_cut <> ligne_debut chercher_cellulevide End If Range("A18").Select ActiveCell.FormulaR1C1 = _ "=IF(AND(R[-1]C<>"""",R[-1]C[8]<>0,RC[8]<>0),R[-1]C+(R[-1]C[8]+1)*tps,"""")" Selection.AutoFill Destination:=Range("A18:A" & ligne_fin), Type:=xlFillDefault Range("K18").Select ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-2]" Selection.AutoFill Destination:=Range("K18:K" & ligne_fin), Type:=xlFillDefault End Sub Sub recherche_vide() 'Cherche la ligne de la cellule vide Ligne = ligne_debut Do While Ligne <> ligne_fin If Cells(Ligne, 5).Value = "" Then ligne_vide = Ligne Exit Do Else Ligne = Ligne + 1 End If Loop End Sub Sub chercher_cellulevide() 'Cherche s'il existe une cellule vide For i = ligne_debut To ligne_fin If Cells(i, 5).Value = "" And Cells(i + 1, 5).Value <> "" Then vide = True Exit For End If Next i End Sub
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256 Option Explicit Sub copier() Dim WSSource As Worksheet Dim WSDest As Worksheet Dim WSDest2 As Worksheet Dim i As Integer Dim j As Boolean Dim ligne_début As String Dim ligne_fin As String Dim Ligne As Integer Dim cell As String 'Invite pour la ligne de départ ligne_début = InputBox("Placer : Ligne début ?") 'La ligne de début doit être numérique et supérieure ou égale à 17 Do Until IsNumeric(ligne_début) And ligne_début >= 17 ligne_début = InputBox("N'importe quoi! Il faut donner un numéro de ligne Supérieur ou égal à 15!!!") Loop 'Invite pour la ligne de fin ligne_fin = InputBox("Placer : Ligne fin ?") 'La ligne de fin doit être numérique et supérieure à la ligne de début Do Until IsNumeric(ligne_fin) And ligne_fin > ligne_début ligne_fin = InputBox("N'importe quoi! Il faut donner un numéro de ligne Supérieur à la ligne de départ. Patate !!!") Loop Set WSSource = Workbooks("ruitz.xls").Worksheets("planning") Set WSDest = Workbooks("planning").Worksheets("planning") Set WSDest2 = Workbooks("planning").Worksheets("planning") 'Boucle pour chaque ligne For Ligne = ligne_début To ligne_fin 'cherche la ligne vide dans le classeur de destination i = WSDest.Range("A65536").End(xlUp).Row + 1 'On copie les cellules E,ligne, K ligne et Nligne ->Q ligne cell = Cells(i, 3).Address WSSource.Cells(Ligne, 2).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 7).Address WSSource.Cells(Ligne, 5).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 5).Address WSSource.Cells(Ligne, 6).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 8).Address WSSource.Cells(Ligne, 7).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 19).Address WSSource.Cells(Ligne, 12).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 16).Address WSSource.Cells(Ligne, 8).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 17).Address WSSource.Cells(Ligne, 10).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 18).Address WSSource.Cells(Ligne, 11).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 9).Address WSSource.Cells(Ligne, 221).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 1).Address WSSource.Cells(Ligne, 223).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 2).Address WSSource.Cells(Ligne, 224).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 4).Address WSSource.Cells(Ligne, 225).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 6).Address WSSource.Cells(Ligne, 227).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 9).Address WSSource.Cells(Ligne, 228).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 10).Address WSSource.Cells(Ligne, 229).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 11).Address WSSource.Cells(Ligne, 230).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 12).Address WSSource.Cells(Ligne, 231).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 13).Address WSSource.Cells(Ligne, 232).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 14).Address WSSource.Cells(Ligne, 233).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 15).Address WSSource.Cells(Ligne, 234).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone Next For Ligne = ligne_début To ligne_fin 'cherche la ligne vide dans le classeur de destination i = WSDest2.Range("A65536").End(xlUp).Row + 1 'On copie les cellules E,ligne, K ligne et Nligne ->Q ligne cell = Cells(i, 3).Address WSSource.Cells(Ligne, 2).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 7).Address WSSource.Cells(Ligne, 5).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 5).Address WSSource.Cells(Ligne, 6).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 8).Address WSSource.Cells(Ligne, 7).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 19).Address WSSource.Cells(Ligne, 12).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 16).Address WSSource.Cells(Ligne, 8).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 17).Address WSSource.Cells(Ligne, 10).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 18).Address WSSource.Cells(Ligne, 11).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 9).Address WSSource.Cells(Ligne, 221).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 1).Address WSSource.Cells(Ligne, 223).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 2).Address WSSource.Cells(Ligne, 224).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 4).Address WSSource.Cells(Ligne, 225).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 6).Address WSSource.Cells(Ligne, 227).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 9).Address WSSource.Cells(Ligne, 228).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 10).Address WSSource.Cells(Ligne, 229).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 11).Address WSSource.Cells(Ligne, 230).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 12).Address WSSource.Cells(Ligne, 231).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 13).Address WSSource.Cells(Ligne, 232).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 14).Address WSSource.Cells(Ligne, 233).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone cell = Cells(i, 15).Address WSSource.Cells(Ligne, 234).Copy WSDest2.Range(cell).PasteSpecial Paste:=xlValues, Operation:=xlNone Next End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Option Explicit Sub Imprimer() Workbooks("planning.xls").Worksheets("planning").PrintOut End Sub
Partager