Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/01/2012, 11h50   #1
Invité de passage
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : 2
Points : 2
Par défaut Configuration de protection XL2000 vs XL2007

Bonjour le forum et bonne année à tous.

Je vous contacte car j'ai un petit soucis avec un fichier ".xls" qui doit fonctionner pour des utilisateurs "XL2007" et pour d'autres "XL2000".

Afin de protéger certaines données, j'applique des protections configurées, permettant certaines opérations.

Pour les utilisateurs XL2007, le code de protection est le suivant :

Code :
Sheets("Summary").Protect AllowFiltering:=True, AllowSorting:=True, AllowFormattingCells:=True, AllowFormattingRows:=True, Password:="Commercial1!"
Etant donné que les propriété "Allow*" ne fonctionnent pas pour les utilisateurs "XL2000", je dois leur concocter un code de protection dédié dont la base est la suivante :

Code :
Sheets("Summary").Protect DrawingObjects:=False, Contents:=True, Scenarios:= False, Password:="Commercial1!"
N'ayant pas de machine "XL2000" pour vérifier, j'aimerai savoir quel booléen je dois affecter aux 3 propriétés pour obtenir la configuration de protection suivante :
  • La valeur des cellules protégées ne peut être modifiée (pour protéger les formules qu'elles contiennent)
  • L'utilisateur peut utiliser la fonction de filtre
  • La mise en forme des cellules peut être modifiée
  • La hauteur des rangées peut être modifiée

En bref, obtenir la même protection configurée qu'avec mon code XL2007.

Comment arrive-t-on à cela avec un code VBA pour XL2000?

Merci d'avance pour votre aide !
neosapri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 12h48   #2
Membre Expert
 
Avatar de rtg57
 
Homme
Autodidacte
Inscription : mars 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Autodidacte
Secteur : Service public

Informations forums :
Inscription : mars 2006
Messages : 1 175
Points : 1 435
Points : 1 435
Bonjour,

malheureusement, je crois qu'il n'y a pas de solution à votre problème.
Les options de protection de feuilles sont apparues à partie de la version 2003. Les versions antérieurs n'ont que les possibilités que vous avez énoncées dans le second exemple.

A vous de faire un traitement spécifique. Par exemple, il est probable que l'utilisation de la ligne de programme
Code :
1
2
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingCells:=True, AllowFormattingRows:=True, AllowFiltering:= True
provoque une erreur dans la version EXCEL 2000.
Dans ce cas, faites un traitement On error Goto qui emmènera la programme vers la seconde ligne de code simplifiée.
__________________
@ bientôt...

Salut & @+ sur 3W!
rtg57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 13h25   #3
Invité de passage
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : 2
Points : 2
Bonjour rtg57. Merci de tenter de m'aider.

Clairement le premier code introduit conduit à une erreur, et c'est pour cela que je suis en train de compiler une macro dont la structure principale est la suivante :

Première partie de macro "error free"

Une deuxième partie avec un "If" lié à la version utilisée

If Excel 2000 Then
Macro pour Excel2000
Else
Macro pour Excel 2007
End If


Reste de la macro "error free"

Bref, ce que je voudrai bien savoir, c'est pour les trois propriétés de la fonction "Protect" sous Excel 2000, si je dois mettre "Vrai" ou "Faux".

Drawing objects : VRAI - FAUX
Contents : VRAI - FAUX
Scenarios : VRAI - FAUX

C'est bêtement parce que je ne sais pas ce qu'est un "Drawing objects" et un "Scenario" sous Excel 2000 et que je ne trouve pas l'info sur le Net.

La configuration que je souhaiterai obtenir étant la plus proche de ce que la protection sous Excel 2007 permet de faire, avec comme configuration minimale nécessaire (et suffisante) :
  • La valeur des cellules protégées ne peut être modifiée (pour protéger les formules qu'elles contiennent)
  • L'utilisateur peut utiliser la fonction de filtre
  • La mise en forme des cellules peut être modifiée
  • La hauteur des rangées peut être modifiée

Merci d'avance pour l'aide apportée !
neosapri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 10h50   #4
Invité de passage
 
Inscription : février 2009
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 6
Points : 2
Points : 2
Par défaut :cry:

Bon, ben apparemment personne ne veut plus m'aider pour ce sujet, je clos donc la discussion...

neosapri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 16h19   #5
Membre Expert
 
Avatar de rtg57
 
Homme
Autodidacte
Inscription : mars 2006
Messages : 1 175
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Autodidacte
Secteur : Service public

Informations forums :
Inscription : mars 2006
Messages : 1 175
Points : 1 435
Points : 1 435
Bonjour,

la vie fait que l'on n'est pas toujours connecté au forum...

En ce qui concerne votre sujet, vous pouvez mettre les propriétés Drawing Objects, Contents, Scenarios à True.
Cependant, cela ne permettra pas à l'utilisateur d'utiliser les filtres sur EXCEL 2000. Cette permission n'est apparue qu'à partir de 2003 me semble-t-il.
__________________
@ bientôt...

Salut & @+ sur 3W!
rtg57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h01.


 
 
 
 
Partenaires

Hébergement Web