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/rouge
PS: je travail sous mac excel 2011, si je veux porter cette macro sur windows Excel 2010 y a t il des modifications à entreprendre ?
Vous en remerciant
moa131
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:
Code:
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
[COLOR="#FF0000"][B][I][U]Workbooks(Fic18).Close[/U][/I][/B][/COLOR]
le débugger me surligne celle que j'ai souligné/gras/italique/rouge
PS: je travail sous mac excel 2011, si je veux porter cette macro sur windows Excel 2010 y a t il des modifications à entreprendre ?
Vous en remerciant
moa131
Dernière édition: