OVH Cloud OVH Cloud

pour les expert de macro

1 réponse
Avatar
debutant
j'ai une autre colle, voici la macro que j'ai fait:"

Private Sub impression et enregistrement_Click()
ActiveWindow.SelectedSheets.PrintPreview
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("A1").Select
Dim svgName As String
Dim numErreur As Long
Dim scrUpdate As Boolean
Dim dspAlert As Boolean
scrUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
'Copier la feuille dans un nouveau classeur
Sheets("Feuil1").Copy
'Demander le nom de sauvegarde
svgName = Application.GetSaveAsFilename
ActiveWorkbook.Protect
'Si nom entré (et non bouton annuler)
If svgName <> "Faux" Then
On Error Resume Next
ActiveWorkbook.SaveAs svgName
numErreur = Err.Number
On Error GoTo 0
'Si le fichier existe déjà et qu'on ne veut pas l'écraser
If numErreur <> 1004 And numErreur <> 0 Then _
Err.Raise numErreur
End If
'Au cas où on ne veut pas sauvegarder le devis
dspAlert = Application.DisplayAlerts
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = dspAlert
End Sub

comment puis-je faire pour proteger toute la feuille enregistrer de facon a
ce que l'on puisse pas changer les données.
merci de votre aide

1 réponse

Avatar
Philippe.R
Bonjour,
Ces lignes (obtenues avec l'enregistreur de macros) à ajouter en fin de procédure:

ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlUnlockedCells

protègent la feuille
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002

"debutant" a écrit dans le message de
news:c4kr5n$ajs$
j'ai une autre colle, voici la macro que j'ai fait:"

Private Sub impression et enregistrement_Click()
ActiveWindow.SelectedSheets.PrintPreview
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("A1").Select
Dim svgName As String
Dim numErreur As Long
Dim scrUpdate As Boolean
Dim dspAlert As Boolean
scrUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
'Copier la feuille dans un nouveau classeur
Sheets("Feuil1").Copy
'Demander le nom de sauvegarde
svgName = Application.GetSaveAsFilename
ActiveWorkbook.Protect
'Si nom entré (et non bouton annuler)
If svgName <> "Faux" Then
On Error Resume Next
ActiveWorkbook.SaveAs svgName
numErreur = Err.Number
On Error GoTo 0
'Si le fichier existe déjà et qu'on ne veut pas l'écraser
If numErreur <> 1004 And numErreur <> 0 Then _
Err.Raise numErreur
End If
'Au cas où on ne veut pas sauvegarder le devis
dspAlert = Application.DisplayAlerts
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = dspAlert
End Sub

comment puis-je faire pour proteger toute la feuille enregistrer de facon a
ce que l'on puisse pas changer les données.
merci de votre aide