Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Sécurité d'une feuille masqué

12 réponses
Avatar
Flag
Bonjour,

J'ai un document avec plusieurs onglets dont un contient des données
confidentielles. Les données confidentielles sont utilisées dans d'autres
onglets pour faire des calculs.

Je dois distribuer ce document XL à plusieurs personnes mais l'onglet
contenant les données confidentielles doit être masqué pour ne pas être lu
par les autres.

J'ai utilisé "Fomat" - "Feuille" - "masquer" mais rien empêchera les
personnes d'afficher cette feuille.

Est-ce qu'il existe une autre solution?

Merci pour votre aide!
--
Flag
Excel 2003
Windows XP

10 réponses

1 2
Avatar
Daniel.C
Bonsoir.
Outils / Protection / Protéger le classeur.
Cordialement.
Daniel
"Flag" a écrit dans le message de news:

Bonjour,

J'ai un document avec plusieurs onglets dont un contient des données
confidentielles. Les données confidentielles sont utilisées dans d'autres
onglets pour faire des calculs.

Je dois distribuer ce document XL à plusieurs personnes mais l'onglet
contenant les données confidentielles doit être masqué pour ne pas être lu
par les autres.

J'ai utilisé "Fomat" - "Feuille" - "masquer" mais rien empêchera les
personnes d'afficher cette feuille.

Est-ce qu'il existe une autre solution?

Merci pour votre aide!
--
Flag
Excel 2003
Windows XP



Avatar
Youky
Salut,
Va en Menu>Affichage> barre d'outils> Visual basic
Place toi sur ta feuille et va en Visual Basic Editor
si la fenetre des propriétés à droite n'apparait pas aller en
menu>affichage>fenetre propriété
...dans cette fenetre aller à Visible et choisir 2 VeryHidden
la feuille est masquée immédiatement
pour encore un peu plus de sécurité mettre un mot de passe pour rentrer dans
l'éditor VBA
Pour revoir la feuille retourner dans l'éditor cliquer sur la bonne page en
fenetre des projets à gauche et en
fenetre des propriétés remettre Visible=1 xlsheetvisible

Youky

"Flag" a écrit dans le message de news:

Bonjour,

J'ai un document avec plusieurs onglets dont un contient des données
confidentielles. Les données confidentielles sont utilisées dans d'autres
onglets pour faire des calculs.

Je dois distribuer ce document XL à plusieurs personnes mais l'onglet
contenant les données confidentielles doit être masqué pour ne pas être lu
par les autres.

J'ai utilisé "Fomat" - "Feuille" - "masquer" mais rien empêchera les
personnes d'afficher cette feuille.

Est-ce qu'il existe une autre solution?

Merci pour votre aide!
--
Flag
Excel 2003
Windows XP



Avatar
Daniel.C
Bonsoir Youki,
Je dois somnoler, ou je n'ai pas compris tes explications :
Qu'est-ce qui empêche d'exécuter la ligne :
ActiveWorkbook.Sheets("Feuil1").Visible = True
depuis n'importe quel classeur ?
Cordialement.
Daniel
"Youky" a écrit dans le message de news:
ODIuh5v%
Salut,
Va en Menu>Affichage> barre d'outils> Visual basic
Place toi sur ta feuille et va en Visual Basic Editor
si la fenetre des propriétés à droite n'apparait pas aller en
menu>affichage>fenetre propriété
...dans cette fenetre aller à Visible et choisir 2 VeryHidden
la feuille est masquée immédiatement
pour encore un peu plus de sécurité mettre un mot de passe pour rentrer
dans l'éditor VBA
Pour revoir la feuille retourner dans l'éditor cliquer sur la bonne page
en fenetre des projets à gauche et en
fenetre des propriétés remettre Visible=1 xlsheetvisible

Youky

"Flag" a écrit dans le message de news:

Bonjour,

J'ai un document avec plusieurs onglets dont un contient des données
confidentielles. Les données confidentielles sont utilisées dans d'autres
onglets pour faire des calculs.

Je dois distribuer ce document XL à plusieurs personnes mais l'onglet
contenant les données confidentielles doit être masqué pour ne pas être
lu
par les autres.

J'ai utilisé "Fomat" - "Feuille" - "masquer" mais rien empêchera les
personnes d'afficher cette feuille.

Est-ce qu'il existe une autre solution?

Merci pour votre aide!
--
Flag
Excel 2003
Windows XP







Avatar
LSteph
Bonsoir Daniel,

Certes mais attention, Youky a raison aussi car
le cas échéant, elle peut ne s'appeller plus feuil1
mais du nom que l'on a mis aussi dans la Fenêtre des propriétés
et ainsi également pour le codeName qui lui aussi ne sera connu que de
celui qui déverrouille le projet
(ce qui certes n'est pas forcément bien difficile à contourner)
mais en l'occurence dans le respect des fonctionnalités "normales"
simplement depuis un autre workbook que ce soit:
ActiveWorkbook.Sheets("Feuil1").Visible = True
ou
Feuil1.visible=true
dans le premier cas Erreur d'execution 9
Indice n'appartient pas à la selection
dansle second cas Erreur 438
Propriété non gérée par cet objet

Cordialement.

lSteph

Bonsoir Youki,

ActiveWorkbook.Sheets("Feuil1").Visible = True





Avatar
Daniel.C
D'accord avec toi. J'ai mis "Feuil1" pour faire court.
Mettons :
For Each feuille In ActiveWorkbook.Sheets
feuille.Visible = True
Next feuille
Daniel
"LSteph" a écrit dans le message de news:
u8QfAcw%
Bonsoir Daniel,

Certes mais attention, Youky a raison aussi car
le cas échéant, elle peut ne s'appeller plus feuil1
mais du nom que l'on a mis aussi dans la Fenêtre des propriétés
et ainsi également pour le codeName qui lui aussi ne sera connu que de
celui qui déverrouille le projet
(ce qui certes n'est pas forcément bien difficile à contourner)
mais en l'occurence dans le respect des fonctionnalités "normales"
simplement depuis un autre workbook que ce soit:
ActiveWorkbook.Sheets("Feuil1").Visible = True
ou
Feuil1.visible=true
dans le premier cas Erreur d'execution 9
Indice n'appartient pas à la selection
dansle second cas Erreur 438
Propriété non gérée par cet objet

Cordialement.

lSteph

Bonsoir Youki,

ActiveWorkbook.Sheets("Feuil1").Visible = True






Avatar
LSteph
Re,

;-)
Là d'accord,
et vos indications sont ainsi complémentaires:
Mettre la feuille xlsheetveryhidden et protèger le projet ...
mais en plus Protéger le classeur.

@+

lSteph





D'accord avec toi. J'ai mis "Feuil1" pour faire court.
Mettons :
For Each feuille In ActiveWorkbook.Sheets
feuille.Visible = True
Next feuille
Daniel
"LSteph" a écrit dans le message de news:
u8QfAcw%
Bonsoir Daniel,

Certes mais attention, Youky a raison aussi car
le cas échéant, elle peut ne s'appeller plus feuil1
mais du nom que l'on a mis aussi dans la Fenêtre des propriétés
et ainsi également pour le codeName qui lui aussi ne sera connu que de
celui qui déverrouille le projet
(ce qui certes n'est pas forcément bien difficile à contourner)
mais en l'occurence dans le respect des fonctionnalités "normales"
simplement depuis un autre workbook que ce soit:
ActiveWorkbook.Sheets("Feuil1").Visible = True
ou
Feuil1.visible=true
dans le premier cas Erreur d'execution 9
Indice n'appartient pas à la selection
dansle second cas Erreur 438
Propriété non gérée par cet objet

Cordialement.

lSteph

Bonsoir Youki,
ActiveWorkbook.Sheets("Feuil1").Visible = True







Avatar
Daniel.C
Bonjour.
Ca ne suffit même pas.
Après avoir récupéré le nom des feuilles :

For Each sh In Sheets
Var = sh.Name
Zone = sh.UsedRange.Address
Next

on a le loisir d'écrire :
=[Classeur1]Feuil1!A1
(classeur1 étant le classeur protégé et la feuille Feuil1 la feuille
xlveryhidden)
et d'utiliser l'adresse de Zone pour récupérer toutes les infos disponibles.
Daniel
"LSteph" a écrit dans le message de news:
u6JXrAx%
Re,

;-)
Là d'accord,
et vos indications sont ainsi complémentaires:
Mettre la feuille xlsheetveryhidden et protèger le projet ...
mais en plus Protéger le classeur.

@+

lSteph





D'accord avec toi. J'ai mis "Feuil1" pour faire court.
Mettons :
For Each feuille In ActiveWorkbook.Sheets
feuille.Visible = True
Next feuille
Daniel
"LSteph" a écrit dans le message de news:
u8QfAcw%
Bonsoir Daniel,

Certes mais attention, Youky a raison aussi car
le cas échéant, elle peut ne s'appeller plus feuil1
mais du nom que l'on a mis aussi dans la Fenêtre des propriétés
et ainsi également pour le codeName qui lui aussi ne sera connu que de
celui qui déverrouille le projet
(ce qui certes n'est pas forcément bien difficile à contourner)
mais en l'occurence dans le respect des fonctionnalités "normales"
simplement depuis un autre workbook que ce soit:
ActiveWorkbook.Sheets("Feuil1").Visible = True
ou
Feuil1.visible=true
dans le premier cas Erreur d'execution 9
Indice n'appartient pas à la selection
dansle second cas Erreur 438
Propriété non gérée par cet objet

Cordialement.

lSteph

Bonsoir Youki,
ActiveWorkbook.Sheets("Feuil1").Visible = True









Avatar
Daniel.C
Sinon, OpenOffice permet d'ôter la protection du classeur sans demander de
mot de passe et d'afficher la feuille pourtant xlveryhidden.
C'est vraiment difficile de bien sécuriser un classeur !
Daniel
"LSteph" a écrit dans le message de news:
u6JXrAx%
Re,

;-)
Là d'accord,
et vos indications sont ainsi complémentaires:
Mettre la feuille xlsheetveryhidden et protèger le projet ...
mais en plus Protéger le classeur.

@+

lSteph





D'accord avec toi. J'ai mis "Feuil1" pour faire court.
Mettons :
For Each feuille In ActiveWorkbook.Sheets
feuille.Visible = True
Next feuille
Daniel
"LSteph" a écrit dans le message de news:
u8QfAcw%
Bonsoir Daniel,

Certes mais attention, Youky a raison aussi car
le cas échéant, elle peut ne s'appeller plus feuil1
mais du nom que l'on a mis aussi dans la Fenêtre des propriétés
et ainsi également pour le codeName qui lui aussi ne sera connu que de
celui qui déverrouille le projet
(ce qui certes n'est pas forcément bien difficile à contourner)
mais en l'occurence dans le respect des fonctionnalités "normales"
simplement depuis un autre workbook que ce soit:
ActiveWorkbook.Sheets("Feuil1").Visible = True
ou
Feuil1.visible=true
dans le premier cas Erreur d'execution 9
Indice n'appartient pas à la selection
dansle second cas Erreur 438
Propriété non gérée par cet objet

Cordialement.

lSteph

Bonsoir Youki,
ActiveWorkbook.Sheets("Feuil1").Visible = True









Avatar
lSteph
Bonjour Daniel,
;o))

Ce n'est pas pour des prunes que j'ai écrit ceci:

(ce qui certes n'est pas forcément bien difficile à contourner)

--
LSteph

"La protection est efficace pour celui qui y croit!"

On 20 sep, 10:08, "Daniel.C" wrote:
Bonjour.
Ca ne suffit même pas.
Après avoir récupéré le nom des feuilles :

For Each sh In Sheets
Var = sh.Name
Zone = sh.UsedRange.Address
Next

on a le loisir d'écrire :
=[Classeur1]Feuil1!A1
(classeur1 étant le classeur protégé et la feuille Feuil1 la feuille
xlveryhidden)
et d'utiliser l'adresse de Zone pour récupérer toutes les infos dispo nibles.
Daniel
"LSteph" a écrit dans le message de news:
u6JXrAx%

Re,

;-)
Là d'accord,
et vos indications sont ainsi complémentaires:
Mettre la feuille xlsheetveryhidden et protèger le projet ...
mais en plus Protéger le classeur.

@+

lSteph

D'accord avec toi. J'ai mis "Feuil1" pour faire court.
Mettons :
For Each feuille In ActiveWorkbook.Sheets
feuille.Visible = True
Next feuille
Daniel
"LSteph" a écrit dans le message de news:
u8QfAcw%
Bonsoir Daniel,

Certes mais attention, Youky a raison aussi car
le cas échéant, elle peut ne s'appeller plus feuil1
mais du nom que l'on a mis aussi dans la Fenêtre des propriétés
et ainsi également pour le codeName qui lui aussi ne sera connu qu e de
celui qui déverrouille le projet
(ce qui certes n'est pas forcément bien difficile à contourner)
mais en l'occurence dans le respect des fonctionnalités "normales"
simplement depuis un autre workbook que ce soit:
ActiveWorkbook.Sheets("Feuil1").Visible = True
ou
Feuil1.visible=true
dans le premier cas Erreur d'execution 9
Indice n'appartient pas à la selection
dansle second cas Erreur 438
Propriété non gérée par cet objet

Cordialement.

lSteph

Bonsoir Youki,
ActiveWorkbook.Sheets("Feuil1").Visible = True






"





Avatar
Youky
Bonjour à vous,
Pas facile en effet de bien sécuriser, mieux ne rien mettre de trop
confidentiel.
ou encore ....écrire les données en ligne 65536 et mettre la police en blanc
en font wingdings et Pfff.....
Youky
"lSteph" a écrit dans le message de news:

Bonjour Daniel,
;o))

Ce n'est pas pour des prunes que j'ai écrit ceci:

(ce qui certes n'est pas forcément bien difficile à contourner)

--
LSteph

"La protection est efficace pour celui qui y croit!"

On 20 sep, 10:08, "Daniel.C" wrote:
Bonjour.
Ca ne suffit même pas.
Après avoir récupéré le nom des feuilles :

For Each sh In Sheets
Var = sh.Name
Zone = sh.UsedRange.Address
Next

on a le loisir d'écrire :
=[Classeur1]Feuil1!A1
(classeur1 étant le classeur protégé et la feuille Feuil1 la feuille
xlveryhidden)
et d'utiliser l'adresse de Zone pour récupérer toutes les infos
disponibles.
Daniel
"LSteph" a écrit dans le message de news:
u6JXrAx%

Re,

;-)
Là d'accord,
et vos indications sont ainsi complémentaires:
Mettre la feuille xlsheetveryhidden et protèger le projet ...
mais en plus Protéger le classeur.

@+

lSteph

D'accord avec toi. J'ai mis "Feuil1" pour faire court.
Mettons :
For Each feuille In ActiveWorkbook.Sheets
feuille.Visible = True
Next feuille
Daniel
"LSteph" a écrit dans le message de news:
u8QfAcw%
Bonsoir Daniel,

Certes mais attention, Youky a raison aussi car
le cas échéant, elle peut ne s'appeller plus feuil1
mais du nom que l'on a mis aussi dans la Fenêtre des propriétés
et ainsi également pour le codeName qui lui aussi ne sera connu que
de
celui qui déverrouille le projet
(ce qui certes n'est pas forcément bien difficile à contourner)
mais en l'occurence dans le respect des fonctionnalités "normales"
simplement depuis un autre workbook que ce soit:
ActiveWorkbook.Sheets("Feuil1").Visible = True
ou
Feuil1.visible=true
dans le premier cas Erreur d'execution 9
Indice n'appartient pas à la selection
dansle second cas Erreur 438
Propriété non gérée par cet objet

Cordialement.

lSteph

Bonsoir Youki,
ActiveWorkbook.Sheets("Feuil1").Visible = True






"





1 2