Sub ArchiTest()
Const archiREP = "c:\Archi_OT_(Test)\"
Dim i, iMax, NewWbk, WbkSuiviOT
Application.ScreenUpdating = False
WbkSuiviOT = ThisWorkbook.Name
'Création d 'un classeur
Workbooks.Add
NewWbk = ActiveWorkbook.Name
With Workbooks(WbkSuiviOT).Sheets("Suivi OT")
iMax = .Range("F" & .Rows.Count).End(xlUp).Row
For i = 5 To iMax
If UCase(.Range("F" & i)) = "OUI" And .Range("X" & i) = "" Then
'copie des valeurs vers la feuille 'Masque'
Workbooks(WbkSuiviOT).Sheets("Masque").Range("F15") = .Range("D" & i)
Workbooks(WbkSuiviOT).Sheets("Masque").Range("H18") = .Range("E" & i)
Workbooks(WbkSuiviOT).Sheets("Masque").Range("R5") = .Range("B" & i)
Workbooks(WbkSuiviOT).Sheets("Masque").Range("i11") = .Range("H" & i)
Workbooks(WbkSuiviOT).Sheets("Masque").Range("D31") = .Range("I" & i)
Workbooks(WbkSuiviOT).Sheets("Masque").Range("D34") = .Range("J" & i)
Workbooks(WbkSuiviOT).Sheets("Masque").Range("D36") = .Range("K" & i)
'Copie de la feuille 'Masque'
Workbooks(WbkSuiviOT).Sheets("Masque").Cells.Copy Destination:=Workbooks(NewWbk).Sheets(1).Cells
'Impression de la feuille
With Workbooks(NewWbk).Sheets(1).PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Workbooks(NewWbk).Sheets(1).Range("B2:U81").PrintOut Copies:=1 ', IgnorePrintAreas:=False
'Sauvegarde du fichier
'test si fichier existe
If Dir(archiREP & "Fiche_" & Trim(.Range("B" & i)) & ".xls") <> "" Then
If MsgBox(prompt:="Le fichier : " & archiREP & "Fiche_" & Trim(.Range("B" & i)) & ".xls" & _
vbCrLf & "existe déjà ! Voulez-vous l'écraser ?", Buttons:=vbYesNo) = vbYes Then
Application.DisplayAlerts = False
Workbooks(NewWbk).SaveAs Filename:=archiREP & "Fiche_" & Trim(.Range("B" & i)) & ".xls", _
FileFormat:=xlNormal
Application.DisplayAlerts = True
NewWbk = "Fiche_" & Trim(.Range("B" & i)) & ".xls"
.Range("X" & i) = "X"
End If
Else
Workbooks(NewWbk).SaveAs Filename:=archiREP & "Fiche_" & Trim(.Range("B" & i)) & ".xls", _
FileFormat:=xlNormal
NewWbk = "Fiche_" & Trim(.Range("B" & i)) & ".xls"
.Range("X" & i) = "X"
End If
End If
Next i
End With
Workbooks(NewWbk).Saved = True
Workbooks(NewWbk).Close
Application.ScreenUpdating = True
MsgBox "Terminé"
End Sub