OVH Cloud OVH Cloud

Protection Conditionnelle

2 réponses
Avatar
Polaris
Bonsoir,

Un petit souci..

Je souhaiterai creer une fonction de protection "conditionnelle".
La condition portant sur la version de Office, que j'identifie par
ailleurs (XP / NonXP, pour simplifier :-))

L"idée :
si Excel Version = XP
alors Protection avec toutes les options disponibles (password,
formatage ligne, colonne...)
si Excel Version = Non XP,
alors Protection avec declaration du Password, uniquement (le reste
etant incompatible)

La variable (public) ExcelVersion existe et est renseignée par macro (à
l'ouverture)

La fonction doit s'appliquer sur une worksheet, en cours d'execution
d'une autre macro.

Je suis absolument nulle en matiere de creation de fonction, donc, si
qqn à compris mes explications, et sait me donner un indice...

Merci d'avance, et bon week a vous,

2 réponses

Avatar
Daniel
Bonjour.
Je ne suis pas expert en protection et l'exemple fonctionne avec un test
pour XL2003...
Sub Test()
Version = Application.Version
If Version = "11.0" Then
ActiveSheet.Protect Password:="toto", DrawingObjects:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Else
ActiveSheet.Protect Password:="toto"
End If
End Sub
Cordialement.
Daniel
"Polaris" a écrit dans le message de news:
430f7ba6$0$6468$
Bonsoir,

Un petit souci..

Je souhaiterai creer une fonction de protection "conditionnelle".
La condition portant sur la version de Office, que j'identifie par
ailleurs (XP / NonXP, pour simplifier :-))

L"idée :
si Excel Version = XP
alors Protection avec toutes les options disponibles (password, formatage
ligne, colonne...)
si Excel Version = Non XP,
alors Protection avec declaration du Password, uniquement (le reste etant
incompatible)

La variable (public) ExcelVersion existe et est renseignée par macro (à
l'ouverture)

La fonction doit s'appliquer sur une worksheet, en cours d'execution d'une
autre macro.

Je suis absolument nulle en matiere de creation de fonction, donc, si qqn
à compris mes explications, et sait me donner un indice...

Merci d'avance, et bon week a vous,


Avatar
Polaris
Merci,...
J'avais essayé cette methode, et, en fait, j'ai trouvé mon erreur...une
sombre histoire d'ActiveSheet....
Comme koi, le debug.print peut etre utile :-)
Bon week

Bonjour.
Je ne suis pas expert en protection et l'exemple fonctionne avec un test
pour XL2003...
Sub Test()
Version = Application.Version
If Version = "11.0" Then
ActiveSheet.Protect Password:="toto", DrawingObjects:=True
ActiveSheet.EnableSelection = xlUnlockedCells
Else
ActiveSheet.Protect Password:="toto"
End If
End Sub
Cordialement.
Daniel
"Polaris" a écrit dans le message de news:
430f7ba6$0$6468$

Bonsoir,

Un petit souci..

Je souhaiterai creer une fonction de protection "conditionnelle".
La condition portant sur la version de Office, que j'identifie par
ailleurs (XP / NonXP, pour simplifier :-))

L"idée :
si Excel Version = XP
alors Protection avec toutes les options disponibles (password, formatage
ligne, colonne...)
si Excel Version = Non XP,
alors Protection avec declaration du Password, uniquement (le reste etant
incompatible)

La variable (public) ExcelVersion existe et est renseignée par macro (à
l'ouverture)

La fonction doit s'appliquer sur une worksheet, en cours d'execution d'une
autre macro.

Je suis absolument nulle en matiere de creation de fonction, donc, si qqn
à compris mes explications, et sait me donner un indice...

Merci d'avance, et bon week a vous,