Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression, ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dans
ThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et regarder
le
code généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression, ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dans
ThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et regarder
le
code généré.
"Tee" <toto@tata.com> a écrit dans le message de news:
eUK$Yu7iGHA.1320@TK2MSFTNGP04.phx.gbl...
Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression, ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dans
ThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et regarder
le
code généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la macro
et si on répond désactivé, il est possible d'imprimer sans que le pied de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourront
être imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros ?
Merci
"Quetzalcoatl" a écrit dans le
message
de news:448ca333$0$1020$Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression,
ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dansThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et
regarder
lecode généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la macro
et si on répond désactivé, il est possible d'imprimer sans que le pied de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourront
être imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros ?
Merci
"Quetzalcoatl" <quetzalHIHIHIcoatl@free.fr.invalid> a écrit dans le
message
de news:448ca333$0$1020$ba4acef3@news.orange.fr...
Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression,
ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dans
ThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et
regarder
le
code généré.
"Tee" <toto@tata.com> a écrit dans le message de news:
eUK$Yu7iGHA.1320@TK2MSFTNGP04.phx.gbl...
Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la macro
et si on répond désactivé, il est possible d'imprimer sans que le pied de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourront
être imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros ?
Merci
"Quetzalcoatl" a écrit dans le
message
de news:448ca333$0$1020$Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression,
ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dansThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et
regarder
lecode généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me l'as
indiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" a écrit dans le message de
news:Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le pied de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourrontêtre imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros ?
Merci
"Quetzalcoatl" a écrit dans le
messagede news:448ca333$0$1020$Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression,
ouavant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dansThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreurde macros, redéfinir "à la main" l'en-tête et le pied de page et
regarderlecode généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me l'as
indiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" <toto@tata.com> a écrit dans le message de
news:edVm6EgjGHA.3496@TK2MSFTNGP04.phx.gbl...
Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le pied de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourront
être imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros ?
Merci
"Quetzalcoatl" <quetzalHIHIHIcoatl@free.fr.invalid> a écrit dans le
message
de news:448ca333$0$1020$ba4acef3@news.orange.fr...
Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression,
ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dans
ThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et
regarder
le
code généré.
"Tee" <toto@tata.com> a écrit dans le message de news:
eUK$Yu7iGHA.1320@TK2MSFTNGP04.phx.gbl...
Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me l'as
indiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" a écrit dans le message de
news:Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le pied de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourrontêtre imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros ?
Merci
"Quetzalcoatl" a écrit dans le
messagede news:448ca333$0$1020$Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque impression,
ouavant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à insérer
dansThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreurde macros, redéfinir "à la main" l'en-tête et le pied de page et
regarderlecode généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications dans
l'entête ou les pieds da page pour excel.
Merci
Bonsoir,
Il y a une solution. C'est un peu alambiqué, mais ça fonctionne.
1/ Tu crées une feuille (appelons là Message) dans laquelle tu insères un
message du type "Veuillez activer les macros".
2/ A l'ouverture du classeur, tu affiches toutes les feuilles sauf
Message,
que tu masques.
3/ Avant toute sauvegarde du classeur :
- tu masques (sévèrement) toutes les feuilles, sauf Message,
- tu sauvegardes le classeur (avec le même nom si l'opérateur a demandé
"Enregistrer", ou en demandant le nom à l'opérateur s'il a demandé
"Enregistrer sous"),
- tu affiches à nouveau toutes les feuilles sauf Message, que tu
masques.
Nota 1 : Il faut veiller à désactiver les évènements, sans quoi, lorsque
tu
enregistres, tu ré-entres la procédure.
Nota 2 : On peut aussi désactiver le rafraîchissement de l'affichage, pour
éviter que ça clignote trop.
Nota 3 : Il faut gérer la feuille que l'on souhaite afficher.
Nota 4 : Cancel = True permet que le classeur ne soit pas enregistré (à
nouveau) à la fin de la procédure.
4/ Tu protèges tes macros par un mot de passe.
5/ Tu enregistres tout ça.
Ainsi, si l'opérateur n'active pas les macros, il ne verra que la feuille
Message.
S'il active les macros, toutes les pages seront affichées (sauf Message).
Nous dire.
A+
*Cela donne, dans ThisWorkbook*
Private Sub Workbook_Open()
Dim i as Integer
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
End Sub
*et*
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Dim sht_displayed As Worksheet
Dim i As Integer
Dim File As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Set sht_displayed = ActiveSheet
With ThisWorkbook
For i = 1 To Sheets.Count Step 1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = True _
Else Sheets(i).Visible = xlSheetVeryHidden
Next
Sheets("Message").Select
End With
If SaveAsUi Then
File = Application.GetSaveAsFilename
If File <> False Then ActiveWorkbook.SaveAs Filename:=File
Else: ActiveWorkbook.Save
End If
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
sht_displayed.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
Cancel = True
End Sub
"Tee" a écrit dans le message de news:Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me
l'as
indiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" a écrit dans le message de
news:Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le pied
de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourrontêtre imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros
?
Merci
"Quetzalcoatl" a écrit dans le
messagede news:448ca333$0$1020$Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque
impression,
ouavant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à
insérer
dansThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreurde macros, redéfinir "à la main" l'en-tête et le pied de page et
regarderlecode généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications
dans
l'entête ou les pieds da page pour excel.
Merci
Bonsoir,
Il y a une solution. C'est un peu alambiqué, mais ça fonctionne.
1/ Tu crées une feuille (appelons là Message) dans laquelle tu insères un
message du type "Veuillez activer les macros".
2/ A l'ouverture du classeur, tu affiches toutes les feuilles sauf
Message,
que tu masques.
3/ Avant toute sauvegarde du classeur :
- tu masques (sévèrement) toutes les feuilles, sauf Message,
- tu sauvegardes le classeur (avec le même nom si l'opérateur a demandé
"Enregistrer", ou en demandant le nom à l'opérateur s'il a demandé
"Enregistrer sous"),
- tu affiches à nouveau toutes les feuilles sauf Message, que tu
masques.
Nota 1 : Il faut veiller à désactiver les évènements, sans quoi, lorsque
tu
enregistres, tu ré-entres la procédure.
Nota 2 : On peut aussi désactiver le rafraîchissement de l'affichage, pour
éviter que ça clignote trop.
Nota 3 : Il faut gérer la feuille que l'on souhaite afficher.
Nota 4 : Cancel = True permet que le classeur ne soit pas enregistré (à
nouveau) à la fin de la procédure.
4/ Tu protèges tes macros par un mot de passe.
5/ Tu enregistres tout ça.
Ainsi, si l'opérateur n'active pas les macros, il ne verra que la feuille
Message.
S'il active les macros, toutes les pages seront affichées (sauf Message).
Nous dire.
A+
*Cela donne, dans ThisWorkbook*
Private Sub Workbook_Open()
Dim i as Integer
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
End Sub
*et*
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Dim sht_displayed As Worksheet
Dim i As Integer
Dim File As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Set sht_displayed = ActiveSheet
With ThisWorkbook
For i = 1 To Sheets.Count Step 1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = True _
Else Sheets(i).Visible = xlSheetVeryHidden
Next
Sheets("Message").Select
End With
If SaveAsUi Then
File = Application.GetSaveAsFilename
If File <> False Then ActiveWorkbook.SaveAs Filename:=File
Else: ActiveWorkbook.Save
End If
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
sht_displayed.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
Cancel = True
End Sub
"Tee" <toto@tata.com> a écrit dans le message de news:
uSmPkJgjGHA.412@TK2MSFTNGP05.phx.gbl...
Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me
l'as
indiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" <toto@tata.com> a écrit dans le message de
news:edVm6EgjGHA.3496@TK2MSFTNGP04.phx.gbl...
Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le pied
de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourront
être imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros
?
Merci
"Quetzalcoatl" <quetzalHIHIHIcoatl@free.fr.invalid> a écrit dans le
message
de news:448ca333$0$1020$ba4acef3@news.orange.fr...
Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque
impression,
ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à
insérer
dans
ThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et
regarder
le
code généré.
"Tee" <toto@tata.com> a écrit dans le message de news:
eUK$Yu7iGHA.1320@TK2MSFTNGP04.phx.gbl...
Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications
dans
l'entête ou les pieds da page pour excel.
Merci
Bonsoir,
Il y a une solution. C'est un peu alambiqué, mais ça fonctionne.
1/ Tu crées une feuille (appelons là Message) dans laquelle tu insères un
message du type "Veuillez activer les macros".
2/ A l'ouverture du classeur, tu affiches toutes les feuilles sauf
Message,
que tu masques.
3/ Avant toute sauvegarde du classeur :
- tu masques (sévèrement) toutes les feuilles, sauf Message,
- tu sauvegardes le classeur (avec le même nom si l'opérateur a demandé
"Enregistrer", ou en demandant le nom à l'opérateur s'il a demandé
"Enregistrer sous"),
- tu affiches à nouveau toutes les feuilles sauf Message, que tu
masques.
Nota 1 : Il faut veiller à désactiver les évènements, sans quoi, lorsque
tu
enregistres, tu ré-entres la procédure.
Nota 2 : On peut aussi désactiver le rafraîchissement de l'affichage, pour
éviter que ça clignote trop.
Nota 3 : Il faut gérer la feuille que l'on souhaite afficher.
Nota 4 : Cancel = True permet que le classeur ne soit pas enregistré (à
nouveau) à la fin de la procédure.
4/ Tu protèges tes macros par un mot de passe.
5/ Tu enregistres tout ça.
Ainsi, si l'opérateur n'active pas les macros, il ne verra que la feuille
Message.
S'il active les macros, toutes les pages seront affichées (sauf Message).
Nous dire.
A+
*Cela donne, dans ThisWorkbook*
Private Sub Workbook_Open()
Dim i as Integer
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
End Sub
*et*
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Dim sht_displayed As Worksheet
Dim i As Integer
Dim File As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Set sht_displayed = ActiveSheet
With ThisWorkbook
For i = 1 To Sheets.Count Step 1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = True _
Else Sheets(i).Visible = xlSheetVeryHidden
Next
Sheets("Message").Select
End With
If SaveAsUi Then
File = Application.GetSaveAsFilename
If File <> False Then ActiveWorkbook.SaveAs Filename:=File
Else: ActiveWorkbook.Save
End If
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
sht_displayed.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
Cancel = True
End Sub
"Tee" a écrit dans le message de news:Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me
l'as
indiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" a écrit dans le message de
news:Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le pied
de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourrontêtre imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des macros
?
Merci
"Quetzalcoatl" a écrit dans le
messagede news:448ca333$0$1020$Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque
impression,
ouavant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à
insérer
dansThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreurde macros, redéfinir "à la main" l'en-tête et le pied de page et
regarderlecode généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications
dans
l'entête ou les pieds da page pour excel.
Merci
Bonjour Quetzalcoalt
j'ai trouvé une solution a peu près identique.
J'ai gardé les 3 procèdures et j'ai masqué les lignes. Elles ne sont
visibles que si les macros sont activées. et elles se remasquent quand on
sauvegarde.
je vais essayer ta soluce pour voir ce qui est le mieux, par contre
comment
désactiver le raffraichissement (effectivement ça clignote pas mal) et
qu'appelle tu masquer séverement ? je ne sais que masquer.
Merci
"Quetzalcoatl" a écrit dans le
message
de news:448dbd00$0$877$Bonsoir,
Il y a une solution. C'est un peu alambiqué, mais ça fonctionne.
1/ Tu crées une feuille (appelons là Message) dans laquelle tu insères
un
message du type "Veuillez activer les macros".
2/ A l'ouverture du classeur, tu affiches toutes les feuilles sauf
Message,que tu masques.
3/ Avant toute sauvegarde du classeur :
- tu masques (sévèrement) toutes les feuilles, sauf Message,
- tu sauvegardes le classeur (avec le même nom si l'opérateur a
demandé
"Enregistrer", ou en demandant le nom à l'opérateur s'il a demandé
"Enregistrer sous"),
- tu affiches à nouveau toutes les feuilles sauf Message, que tu
masques.Nota 1 : Il faut veiller à désactiver les évènements, sans quoi, lorsque
tuenregistres, tu ré-entres la procédure.
Nota 2 : On peut aussi désactiver le rafraîchissement de l'affichage,
pour
éviter que ça clignote trop.
Nota 3 : Il faut gérer la feuille que l'on souhaite afficher.
Nota 4 : Cancel = True permet que le classeur ne soit pas enregistré (à
nouveau) à la fin de la procédure.
4/ Tu protèges tes macros par un mot de passe.
5/ Tu enregistres tout ça.
Ainsi, si l'opérateur n'active pas les macros, il ne verra que la
feuille
Message.
S'il active les macros, toutes les pages seront affichées (sauf
Message).
Nous dire.
A+
*Cela donne, dans ThisWorkbook*
Private Sub Workbook_Open()
Dim i as Integer
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
End Sub
*et*
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Dim sht_displayed As Worksheet
Dim i As Integer
Dim File As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Set sht_displayed = ActiveSheet
With ThisWorkbook
For i = 1 To Sheets.Count Step 1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = True _
Else Sheets(i).Visible = xlSheetVeryHidden
Next
Sheets("Message").Select
End With
If SaveAsUi Then
File = Application.GetSaveAsFilename
If File <> False Then ActiveWorkbook.SaveAs Filename:=File
Else: ActiveWorkbook.Save
End If
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
sht_displayed.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
Cancel = True
End Sub
"Tee" a écrit dans le message de news:Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me
l'asindiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" a écrit dans le message de
news:Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le
pied
depage soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourrontêtre imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des
macros
?
Merci
"Quetzalcoatl" a écrit dans le
messagede news:448ca333$0$1020$Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque
impression,ouavant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à
insérerdansThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel
As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreurde macros, redéfinir "à la main" l'en-tête et le pied de page et
regarderlecode généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications
dansl'entête ou les pieds da page pour excel.
Merci
Bonjour Quetzalcoalt
j'ai trouvé une solution a peu près identique.
J'ai gardé les 3 procèdures et j'ai masqué les lignes. Elles ne sont
visibles que si les macros sont activées. et elles se remasquent quand on
sauvegarde.
je vais essayer ta soluce pour voir ce qui est le mieux, par contre
comment
désactiver le raffraichissement (effectivement ça clignote pas mal) et
qu'appelle tu masquer séverement ? je ne sais que masquer.
Merci
"Quetzalcoatl" <quetzalHIHIHIcoatl@free.fr.invalid> a écrit dans le
message
de news:448dbd00$0$877$ba4acef3@news.orange.fr...
Bonsoir,
Il y a une solution. C'est un peu alambiqué, mais ça fonctionne.
1/ Tu crées une feuille (appelons là Message) dans laquelle tu insères
un
message du type "Veuillez activer les macros".
2/ A l'ouverture du classeur, tu affiches toutes les feuilles sauf
Message,
que tu masques.
3/ Avant toute sauvegarde du classeur :
- tu masques (sévèrement) toutes les feuilles, sauf Message,
- tu sauvegardes le classeur (avec le même nom si l'opérateur a
demandé
"Enregistrer", ou en demandant le nom à l'opérateur s'il a demandé
"Enregistrer sous"),
- tu affiches à nouveau toutes les feuilles sauf Message, que tu
masques.
Nota 1 : Il faut veiller à désactiver les évènements, sans quoi, lorsque
tu
enregistres, tu ré-entres la procédure.
Nota 2 : On peut aussi désactiver le rafraîchissement de l'affichage,
pour
éviter que ça clignote trop.
Nota 3 : Il faut gérer la feuille que l'on souhaite afficher.
Nota 4 : Cancel = True permet que le classeur ne soit pas enregistré (à
nouveau) à la fin de la procédure.
4/ Tu protèges tes macros par un mot de passe.
5/ Tu enregistres tout ça.
Ainsi, si l'opérateur n'active pas les macros, il ne verra que la
feuille
Message.
S'il active les macros, toutes les pages seront affichées (sauf
Message).
Nous dire.
A+
*Cela donne, dans ThisWorkbook*
Private Sub Workbook_Open()
Dim i as Integer
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
End Sub
*et*
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Dim sht_displayed As Worksheet
Dim i As Integer
Dim File As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Set sht_displayed = ActiveSheet
With ThisWorkbook
For i = 1 To Sheets.Count Step 1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = True _
Else Sheets(i).Visible = xlSheetVeryHidden
Next
Sheets("Message").Select
End With
If SaveAsUi Then
File = Application.GetSaveAsFilename
If File <> False Then ActiveWorkbook.SaveAs Filename:=File
Else: ActiveWorkbook.Save
End If
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
sht_displayed.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
Cancel = True
End Sub
"Tee" <toto@tata.com> a écrit dans le message de news:
uSmPkJgjGHA.412@TK2MSFTNGP05.phx.gbl...
Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me
l'as
indiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" <toto@tata.com> a écrit dans le message de
news:edVm6EgjGHA.3496@TK2MSFTNGP04.phx.gbl...
Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le
pied
de
page soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourront
être imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des
macros
?
Merci
"Quetzalcoatl" <quetzalHIHIHIcoatl@free.fr.invalid> a écrit dans le
message
de news:448ca333$0$1020$ba4acef3@news.orange.fr...
Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque
impression,
ou
avant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à
insérer
dans
ThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel
As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreur
de macros, redéfinir "à la main" l'en-tête et le pied de page et
regarder
le
code généré.
"Tee" <toto@tata.com> a écrit dans le message de news:
eUK$Yu7iGHA.1320@TK2MSFTNGP04.phx.gbl...
Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications
dans
l'entête ou les pieds da page pour excel.
Merci
Bonjour Quetzalcoalt
j'ai trouvé une solution a peu près identique.
J'ai gardé les 3 procèdures et j'ai masqué les lignes. Elles ne sont
visibles que si les macros sont activées. et elles se remasquent quand on
sauvegarde.
je vais essayer ta soluce pour voir ce qui est le mieux, par contre
comment
désactiver le raffraichissement (effectivement ça clignote pas mal) et
qu'appelle tu masquer séverement ? je ne sais que masquer.
Merci
"Quetzalcoatl" a écrit dans le
message
de news:448dbd00$0$877$Bonsoir,
Il y a une solution. C'est un peu alambiqué, mais ça fonctionne.
1/ Tu crées une feuille (appelons là Message) dans laquelle tu insères
un
message du type "Veuillez activer les macros".
2/ A l'ouverture du classeur, tu affiches toutes les feuilles sauf
Message,que tu masques.
3/ Avant toute sauvegarde du classeur :
- tu masques (sévèrement) toutes les feuilles, sauf Message,
- tu sauvegardes le classeur (avec le même nom si l'opérateur a
demandé
"Enregistrer", ou en demandant le nom à l'opérateur s'il a demandé
"Enregistrer sous"),
- tu affiches à nouveau toutes les feuilles sauf Message, que tu
masques.Nota 1 : Il faut veiller à désactiver les évènements, sans quoi, lorsque
tuenregistres, tu ré-entres la procédure.
Nota 2 : On peut aussi désactiver le rafraîchissement de l'affichage,
pour
éviter que ça clignote trop.
Nota 3 : Il faut gérer la feuille que l'on souhaite afficher.
Nota 4 : Cancel = True permet que le classeur ne soit pas enregistré (à
nouveau) à la fin de la procédure.
4/ Tu protèges tes macros par un mot de passe.
5/ Tu enregistres tout ça.
Ainsi, si l'opérateur n'active pas les macros, il ne verra que la
feuille
Message.
S'il active les macros, toutes les pages seront affichées (sauf
Message).
Nous dire.
A+
*Cela donne, dans ThisWorkbook*
Private Sub Workbook_Open()
Dim i as Integer
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
End Sub
*et*
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Dim sht_displayed As Worksheet
Dim i As Integer
Dim File As String
Application.ScreenUpdating = False
Application.EnableEvents = False
Set sht_displayed = ActiveSheet
With ThisWorkbook
For i = 1 To Sheets.Count Step 1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = True _
Else Sheets(i).Visible = xlSheetVeryHidden
Next
Sheets("Message").Select
End With
If SaveAsUi Then
File = Application.GetSaveAsFilename
If File <> False Then ActiveWorkbook.SaveAs Filename:=File
Else: ActiveWorkbook.Save
End If
With ThisWorkbook
For i = Sheets.Count To 1 Step -1
If Sheets(i).Name = "Message" _
Then Sheets(i).Visible = xlSheetVeryHidden _
Else Sheets(i).Visible = True
Next
End With
sht_displayed.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
Cancel = True
End Sub
"Tee" a écrit dans le message de news:Je rectifie, j'ai utilisé les 3 procèdures respectivement comme tu me
l'asindiqué, ça marche parfaitement sauf si je désactive les macros à
l'ouverture.
Merci
"Tee" a écrit dans le message de
news:Salut Quetzalcoatl
L'idée etait bonne, jai pris la procédure Private Sub
Workbook_BeforePrint(Cancel As Boolean)
Mais le problème c'est qu'à l'ouverture, la sécurité demande pour la
macro
et si on répond désactivé, il est possible d'imprimer sans que le
pied
depage soit rempli et peut donc être modifié.
Donc macro désactivé l'entete et le pied de page sont modifiable et
pourrontêtre imprimé dans que mes pieds de page apparraisent.
une autre idée ? ou une idée pour empécher la désactivation des
macros
?
Merci
"Quetzalcoatl" a écrit dans le
messagede news:448ca333$0$1020$Bonsoir,
Peut-être une idée à creuser, selon ton besoin :
redéfinir par VBA l'en-tête et le pied de page avant chaque
impression,ouavant l'enregistrement du classeur, ou à l'ouverture du classeur.
Pour cela, utiliser respectivement les procédures suivantes, à
insérerdansThisWorkbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel
As
Boolean)
Private Sub Workbook_Open()
Pour le code, à placer dans l'une de ces procédures, lancer
l'enregistreurde macros, redéfinir "à la main" l'en-tête et le pied de page et
regarderlecode généré.
"Tee" a écrit dans le message de news:
eUK$Bonjour à tous
J'aimerai savoir s'il est possible d'empecher les modifications
dansl'entête ou les pieds da page pour excel.
Merci
"Tee" a écrit dans le message de
comment désactiver le raffraichissement (effectivement ça clignote pas
mal) et qu'appelle tu masquer séverement ? je ne sais que masquer.
"Tee" <toto@tata.com> a écrit dans le message de
comment désactiver le raffraichissement (effectivement ça clignote pas
mal) et qu'appelle tu masquer séverement ? je ne sais que masquer.
"Tee" a écrit dans le message de
comment désactiver le raffraichissement (effectivement ça clignote pas
mal) et qu'appelle tu masquer séverement ? je ne sais que masquer.
Bonsoir,
Désactiver le rafraîchissement de l'affichage :
Application.ScreenUpdating = False
Masquer "sévèrement" (c'est-à-dire que la feuille masquée n'apparaît pas
dans le menu Format > Feuille) :
Sheets(i).Visible = xlSheetVeryHidden"Tee" a écrit dans le message de
comment désactiver le raffraichissement (effectivement ça clignote pas
mal) et qu'appelle tu masquer séverement ? je ne sais que masquer.
Bonsoir,
Désactiver le rafraîchissement de l'affichage :
Application.ScreenUpdating = False
Masquer "sévèrement" (c'est-à-dire que la feuille masquée n'apparaît pas
dans le menu Format > Feuille) :
Sheets(i).Visible = xlSheetVeryHidden
"Tee" <toto@tata.com> a écrit dans le message de
comment désactiver le raffraichissement (effectivement ça clignote pas
mal) et qu'appelle tu masquer séverement ? je ne sais que masquer.
Bonsoir,
Désactiver le rafraîchissement de l'affichage :
Application.ScreenUpdating = False
Masquer "sévèrement" (c'est-à-dire que la feuille masquée n'apparaît pas
dans le menu Format > Feuille) :
Sheets(i).Visible = xlSheetVeryHidden"Tee" a écrit dans le message de
comment désactiver le raffraichissement (effectivement ça clignote pas
mal) et qu'appelle tu masquer séverement ? je ne sais que masquer.