Bonjour,
je suis débutant en VBA, et j'ai commencé a faire une macro permettant de copier la ligne d'un classeur sur un autre si celles-ci sont différentes l'une de l'autre, cependant quand j'execute ma fonction j'ai une erreur 1004 la méthode close de l'objet workbook a échoué, pouvez vous m'aider svp ?
Voici le bout de code:
le débugger me surligne celle que j'ai souligné/gras/italique
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 Dim Fic18 As String Fic18 = "XX.xls" Sh18 = "XX" Workbooks.Open (Fic18) If ActiveSheet.ProtectContents = True Then Workbooks(Fic18).Worksheets(Sh18).Unprotect Password:="xxxxxxx" etaitprotege = 1 End If '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' For Ligne = 3 To Max If Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("K" & Ligne) = "S" Then Num = Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("J" & Ligne).Value If Num > 0 And Not IsEmpty(Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("J" & Ligne)) Then R = Num End If '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Work = Workbooks(Fic18).Worksheets(Sh18).Range("G" & R) Depart = Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("G" & Ligne) Tech2 = Workbooks(Fic18).Worksheets(Sh18).Range("I" & R) Tech1 = Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("I" & Ligne) com1 = Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("L" & Ligne) com2 = Workbooks(Fic18).Worksheets(Sh18).Range("L" & R) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' If Depart <> Work Then Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("G" & Ligne).Copy Workbooks(Fic18).Worksheets(Sh18).Range("G" & R) End If If com1 <> com2 Then Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("L" & Ligne).Copy Workbooks(Fic18).Worksheets(Sh18).Range("L" & R) End If If Tech1 <> Tech2 Then Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("I" & Ligne).Copy Workbooks(Fic18).Worksheets(Sh18).Range("I" & R) End If If IsEmpty(Workbooks("Récapitulatif.xls").Worksheets("Feuil1").Range("K" & Ligne)) Then Exit For End If End If Next Ligne If etaitprotege = 1 Then Workbooks(Fic18).Worksheets(Sh18).Protect Password:="xxxxxxxx" etaitprotege = 0 End If Workbooks(Fic18).Activate Workbooks(Fic18).Save Workbooks(Fic18).Close
Vous en remerciant
moa131
Partager