OVH Cloud OVH Cloud

Authentification d'une feuille originale créée par macro.

7 réponses
Avatar
AlainGG
car Bonjour à tous,
Je cherche le moyen "d'authentifier" une feuille EXCEL en tant qu'original
créé par ma macro (même protégée, il est possible de copier/coller son
contenu ailleurs, puis de le modifier, puis ré-enregistrer, ce qui fait
croire qu'on est dans l'original, alors que c'est faux). J'ai trouvé qu'en
insérant via la macro un nom particulier et en lui affectant une valeur
précise, cela n'est pas visible simplement parce que la feuille est protégée
(une autre macro peut me donner cette info, pas de problème) et cela n'est
pas copiable dans ce contexte. Je souhaiterai en plus qu'apparaisse , dans la
feuille, à l'écran et à l'impression un repère signalant qu'on est bien
effectivement dans l'original généré par la macro créatrice et pas dans une
copie faite par copier/coller et susceptible d'avoir été modifiée. Du style
"quelquechose qu'on ne peut faire qu'avec une macro" (et pas au clavier ou
par copie).
Toutes suggestions seront les bienvenues. D'avance merci.
Amicalement.
--
Alain

7 réponses

Avatar
Pierre CFI [mvp]
bonjour
on peut changer le nom de l'onglet de la feuille, mais il garde son nom system (regarde des la liste des objets)
donc
ici la feuille se nomme "PAPA"
Sub g()
Debug.Print Feuil1.Range("a1")
'idem
Debug.Print Sheets("papa").Range("a1")
End Sub
Feuil1 sera toujours Feuil1 qq soit le nom de l'onglet


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"AlainGG" a écrit dans le message de news:
car Bonjour à tous,
Je cherche le moyen "d'authentifier" une feuille EXCEL en tant qu'original
créé par ma macro (même protégée, il est possible de copier/coller son
contenu ailleurs, puis de le modifier, puis ré-enregistrer, ce qui fait
croire qu'on est dans l'original, alors que c'est faux). J'ai trouvé qu'en
insérant via la macro un nom particulier et en lui affectant une valeur
précise, cela n'est pas visible simplement parce que la feuille est protégée
(une autre macro peut me donner cette info, pas de problème) et cela n'est
pas copiable dans ce contexte. Je souhaiterai en plus qu'apparaisse , dans la
feuille, à l'écran et à l'impression un repère signalant qu'on est bien
effectivement dans l'original généré par la macro créatrice et pas dans une
copie faite par copier/coller et susceptible d'avoir été modifiée. Du style
"quelquechose qu'on ne peut faire qu'avec une macro" (et pas au clavier ou
par copie).
Toutes suggestions seront les bienvenues. D'avance merci.
Amicalement.
--
Alain


Avatar
anomymousA
bonjour,

Une feuille porte 2 noms: le nom de l'onglet et le nom système. Le nom de
l'onglet ( propriété Name de la feuille) peut changer par programmation, mais
le nom système de la feuille (propriété Codename de la feuille) ne peut être
changé par programmation car cette propriété est en lecture seule.
Tu peux changer manuellement ce nom système en allant dans la fenêtre
Propriétés de VBA , mais si tu prends la peine de verrouiller ton projet VBA,
la très grande majorité des utilisateurs ne pourra y accéder et donc ne
pourra pas changer ton nom système pour la feuille.
Ceci dit, si tu envoies ton document à des utilisateurs avertis, ta
protection VBA peut être cassée car Excel n'assure pas une sécurité absolue.

A+


car Bonjour à tous,
Je cherche le moyen "d'authentifier" une feuille EXCEL en tant qu'original
créé par ma macro (même protégée, il est possible de copier/coller son
contenu ailleurs, puis de le modifier, puis ré-enregistrer, ce qui fait
croire qu'on est dans l'original, alors que c'est faux). J'ai trouvé qu'en
insérant via la macro un nom particulier et en lui affectant une valeur
précise, cela n'est pas visible simplement parce que la feuille est protégée
(une autre macro peut me donner cette info, pas de problème) et cela n'est
pas copiable dans ce contexte. Je souhaiterai en plus qu'apparaisse , dans la
feuille, à l'écran et à l'impression un repère signalant qu'on est bien
effectivement dans l'original généré par la macro créatrice et pas dans une
copie faite par copier/coller et susceptible d'avoir été modifiée. Du style
"quelquechose qu'on ne peut faire qu'avec une macro" (et pas au clavier ou
par copie).
Toutes suggestions seront les bienvenues. D'avance merci.
Amicalement.
--
Alain


Avatar
Alain CROS
Bonjour

Pour changer le CodeName de Feuil1 :

ThisWorkbook.VBProject.VBComponents(2&).Properties(5&) = "NouveauNom"

Alain CROS

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

bonjour,

Une feuille porte 2 noms: le nom de l'onglet et le nom système. Le nom de
l'onglet ( propriété Name de la feuille) peut changer par programmation, mais
le nom système de la feuille (propriété Codename de la feuille) ne peut être
changé par programmation car cette propriété est en lecture seule.
Tu peux changer manuellement ce nom système en allant dans la fenêtre
Propriétés de VBA , mais si tu prends la peine de verrouiller ton projet VBA,
la très grande majorité des utilisateurs ne pourra y accéder et donc ne
pourra pas changer ton nom système pour la feuille.
Ceci dit, si tu envoies ton document à des utilisateurs avertis, ta
protection VBA peut être cassée car Excel n'assure pas une sécurité absolue.

A+


car Bonjour à tous,
Je cherche le moyen "d'authentifier" une feuille EXCEL en tant qu'original
créé par ma macro (même protégée, il est possible de copier/coller son
contenu ailleurs, puis de le modifier, puis ré-enregistrer, ce qui fait
croire qu'on est dans l'original, alors que c'est faux). J'ai trouvé qu'en
insérant via la macro un nom particulier et en lui affectant une valeur
précise, cela n'est pas visible simplement parce que la feuille est protégée
(une autre macro peut me donner cette info, pas de problème) et cela n'est
pas copiable dans ce contexte. Je souhaiterai en plus qu'apparaisse , dans la
feuille, à l'écran et à l'impression un repère signalant qu'on est bien
effectivement dans l'original généré par la macro créatrice et pas dans une
copie faite par copier/coller et susceptible d'avoir été modifiée. Du style
"quelquechose qu'on ne peut faire qu'avec une macro" (et pas au clavier ou
par copie).
Toutes suggestions seront les bienvenues. D'avance merci.
Amicalement.
--
Alain




Avatar
AV
Pour changer le CodeName de Feuil1 :
ThisWorkbook.VBProject.VBComponents(2&).Properties(5&) = "NouveauNom"


Ne serait-ce point celui de "Feuil2" (index 2) ?
;-)
AV

Avatar
Alain CROS
Bonjour.

Non, le index 1, c'est ThisWorkbook.

Alain CROS

"AV" a écrit dans le message de news:
Pour changer le CodeName de Feuil1 :
ThisWorkbook.VBProject.VBComponents(2&).Properties(5&) = "NouveauNom"


Ne serait-ce point celui de "Feuil2" (index 2) ?
;-)
AV





Avatar
anomymousA
Bonjour,

Super , ca marche. Tout ce que j'ai lu dans la doc d'Excel indique tant dans
Codename que dans Properties de VBComponent que ce sont des propriétés en
lecture seule. Comme quoi , il ne faut se fier à personne. Merci du tuyau.


Bonjour.

Non, le index 1, c'est ThisWorkbook.

Alain CROS

"AV" a écrit dans le message de news:
Pour changer le CodeName de Feuil1 :
ThisWorkbook.VBProject.VBComponents(2&).Properties(5&) = "NouveauNom"


Ne serait-ce point celui de "Feuil2" (index 2) ?
;-)
AV










Avatar
AV
Ok, ok
mais il me semble quand même que, dans le cas présent, c'est l'index et non le
nom de la feuille qui compte
C'est juste histoire de..;-)

AV