Bonjour à tous,
J'ai un petit souci, voici la macro qui est dans dans mon classeur :
Option Explicit
Private Sub Workbook_Open()
ActiveSheet.Unprotect ("123")
If Left(ActiveWorkbook.Name, 4) = "BTFI" Then Exit Sub
Range("W4") = Range("W4") + 1
ActiveWorkbook.Save
Range("NOM").ClearContents
Range("demande").ClearContents
Range("D16").ClearContents
Range("a47:a58").ClearContents
Range("I47:I58").ClearContents
Range("d61:d67").ClearContents
Range("date").MergeArea.ClearContents
Range("D11").MergeArea.ClearContents
Range("C12").MergeArea.ClearContents
Range("C13").MergeArea.ClearContents
Range("C14").MergeArea.ClearContents
Range("C15").MergeArea.ClearContents
Range("C32").MergeArea.ClearContents
Range("C33").MergeArea.ClearContents
Range("C34").MergeArea.ClearContents
Range("C35").MergeArea.ClearContents
Range("C36").MergeArea.ClearContents
Range("C37").MergeArea.ClearContents
Range("C38").MergeArea.ClearContents
Range("C39").MergeArea.ClearContents
Range("C40").MergeArea.ClearContents
Range("c41").MergeArea.ClearContents
Range("C42").MergeArea.ClearContents
Range("C43").MergeArea.ClearContents
Range("C44").MergeArea.ClearContents
Range("b47").MergeArea.ClearContents
Range("b48").MergeArea.ClearContents
Range("b49").MergeArea.ClearContents
Range("b50").MergeArea.ClearContents
Range("b51").MergeArea.ClearContents
Range("b52").MergeArea.ClearContents
Range("b53").MergeArea.ClearContents
Range("b54").MergeArea.ClearContents
Range("b55").MergeArea.ClearContents
Range("b56").MergeArea.ClearContents
Range("b57").MergeArea.ClearContents
Range("b58").MergeArea.ClearContents
Range("A61").MergeArea.ClearContents
Range("A67").MergeArea.ClearContents
ActiveSheet.Protect ("123")
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Chemin As String, Numéro_Facture As Integer, Nom_tech As String, Nom_année As String, Nom_PC As String
Chemin = ActiveWorkbook.Path
Numéro_Facture = Range("W4")
Nom_tech = Range("X4").Value
Nom_année = Range("y5").Value
Nom_PC = Range("Z5").Value
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\BTFI " & Nom_PC & "-" & Nom_année & "-" & Nom_tech & "-" & Numéro_Facture & ".xls", FileFormat:=xlWorkbookNormal, CreateBackup:=False
End Sub
Cette macro fonctionne sans soucis. Le problème : Je viens de créer un bouton imprimer qui me permet d'imprimer la feuille nommée BTFI et une feuille cachée nommé BTFI COPIE, voici la macro affectée au bouton :
Sub Macro4()
Sheets("BTFI COPIE").Visible = xlSheetVisible
Sheets(Array("BTFI", "BTFI COPIE")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("BTFI COPIE").Visible = xlSheetHidden
End Sub
Quand je clique sur le bouton la macro fonctionne également, mais quand j'ouvre mon classeur une erreur débogage 1004 sur ActiveSheet.Protect ("123") apparait, depuis que j'ai ecris la macro4 mon fichier ne veut apparemment plus se reprotéger.
Merci de votre aide.
sebelec.
J'ai un petit souci, voici la macro qui est dans dans mon classeur :
Option Explicit
Private Sub Workbook_Open()
ActiveSheet.Unprotect ("123")
If Left(ActiveWorkbook.Name, 4) = "BTFI" Then Exit Sub
Range("W4") = Range("W4") + 1
ActiveWorkbook.Save
Range("NOM").ClearContents
Range("demande").ClearContents
Range("D16").ClearContents
Range("a47:a58").ClearContents
Range("I47:I58").ClearContents
Range("d61:d67").ClearContents
Range("date").MergeArea.ClearContents
Range("D11").MergeArea.ClearContents
Range("C12").MergeArea.ClearContents
Range("C13").MergeArea.ClearContents
Range("C14").MergeArea.ClearContents
Range("C15").MergeArea.ClearContents
Range("C32").MergeArea.ClearContents
Range("C33").MergeArea.ClearContents
Range("C34").MergeArea.ClearContents
Range("C35").MergeArea.ClearContents
Range("C36").MergeArea.ClearContents
Range("C37").MergeArea.ClearContents
Range("C38").MergeArea.ClearContents
Range("C39").MergeArea.ClearContents
Range("C40").MergeArea.ClearContents
Range("c41").MergeArea.ClearContents
Range("C42").MergeArea.ClearContents
Range("C43").MergeArea.ClearContents
Range("C44").MergeArea.ClearContents
Range("b47").MergeArea.ClearContents
Range("b48").MergeArea.ClearContents
Range("b49").MergeArea.ClearContents
Range("b50").MergeArea.ClearContents
Range("b51").MergeArea.ClearContents
Range("b52").MergeArea.ClearContents
Range("b53").MergeArea.ClearContents
Range("b54").MergeArea.ClearContents
Range("b55").MergeArea.ClearContents
Range("b56").MergeArea.ClearContents
Range("b57").MergeArea.ClearContents
Range("b58").MergeArea.ClearContents
Range("A61").MergeArea.ClearContents
Range("A67").MergeArea.ClearContents
ActiveSheet.Protect ("123")
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Chemin As String, Numéro_Facture As Integer, Nom_tech As String, Nom_année As String, Nom_PC As String
Chemin = ActiveWorkbook.Path
Numéro_Facture = Range("W4")
Nom_tech = Range("X4").Value
Nom_année = Range("y5").Value
Nom_PC = Range("Z5").Value
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
Chemin & "\BTFI " & Nom_PC & "-" & Nom_année & "-" & Nom_tech & "-" & Numéro_Facture & ".xls", FileFormat:=xlWorkbookNormal, CreateBackup:=False
End Sub
Cette macro fonctionne sans soucis. Le problème : Je viens de créer un bouton imprimer qui me permet d'imprimer la feuille nommée BTFI et une feuille cachée nommé BTFI COPIE, voici la macro affectée au bouton :
Sub Macro4()
Sheets("BTFI COPIE").Visible = xlSheetVisible
Sheets(Array("BTFI", "BTFI COPIE")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Sheets("BTFI COPIE").Visible = xlSheetHidden
End Sub
Quand je clique sur le bouton la macro fonctionne également, mais quand j'ouvre mon classeur une erreur débogage 1004 sur ActiveSheet.Protect ("123") apparait, depuis que j'ai ecris la macro4 mon fichier ne veut apparemment plus se reprotéger.
Merci de votre aide.
sebelec.