IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Simple question concernant le verrouillage de cellule [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Par défaut Simple question concernant le verrouillage de cellule
    Bonjour à tous !

    Je viens vers vous aujourd'hui car j'ai une petite question concernant le verrouillage de cellules excel via vba.

    En clair, j'ai un programme qui me permet de créer des graphiques, pour cela j'ai tout un tas de userforms qui s'enchainent et qui travaillent sur une page en particulier, nommée "Interface". Une fois que l'utilisateur a fini de remplir les userforms, ceux-ci s'unload et l'utilisateur a ainsi accès aux graphiques (qui sont protégés) et ma feuille "Interface" ainsi que d'autres. Le problème c'est que je ne veux pas que l'utilisateur puisse modifier quoi que se soit sur la feuille "Interface" mais je veux qu'il ait accès à cette page car elle contient des informations très importantes et essentielles sur ce qu'il a saisi et les conséquences qu'il doit en tirer (du genre en fonction de la valeur saisie, il faut prendre des mesures de précaution, ou port de protection..).

    Comme tout les userforms se réfèrent majoritairement à cette page quand l'utilisateur les remplit, ben les données de cette feuille bougent constamment... Ma question est donc la suivante, si je mets ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    appExcel.Sheets("Interface").Select
    appExcel.Cells.Select
    appExcel.Selection.Locked = False
    appExcel.Range("A1:J168").Select
    appExcel.Selection.Locked = True
    appExcel.Sheets("Interface").Protect Password:="helloworld", DrawingObjects:=True, Contents:=True, Scenarios:=True
    Est-ce que lors de l'appel de mes macros et le remplissage de mes userforms (qui influent sur les données de la page "Interface") je ne vais pas avoir une erreur du fait que la plage de cellule soit verrouillée ? Ou bien le verrouillage n'influe que lorsque l'utilisateur veut modifier par lui-même à la main les cellules de cette plage ?

    Parce que je pars du principe que si je protège ces cellules depuis Excel (via protection...verrouillage, enfin the classic way quoi, l'utilisateur pourra toujours "retirer la protection" de la feuille et faire ce qu'il veut des cellules).

    En espérant avoir été compris de tous, sinon n'hésitez pas à me demander de reformuler

    Bien à vous,

    Charly/Arkadian

  2. #2
    Inactif  
    Homme Profil pro
    Analyste-Programmeur / Intégrateur ERP
    Inscrit en
    Mai 2013
    Messages
    2 511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-Programmeur / Intégrateur ERP
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 511
    Par défaut
    Bonjour,

    Si tu verrouille directement via le menu Excel, les utilisateurs ne pourront déverrouiller les cellules seulement si tu leur fourni le mot de passe, de la même façon qu'ils pourront faire sauter le verrouillage même si tu l'appliques par VBA si ils connaissent celui-ci, donc cela ne change rien.

    Par contre, peu importe la méthode utilisée pour verrouiller les cellules, tu devras toi, dans les traitements de tes USF, déverrouiller ta feuille pour pouvoir modifier le contenu des cellules, puis la verrouiller à nouveau lorsque tu as fini d'écrire dedans.

    Enfin sur ce 2ème point, il me semble qu'il y a un mode de verrouillage qui permet quand même d'écrire dans les cellules via macro, il faut regarder dans les options.


    Cordialement,

  3. #3
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 562
    Par défaut
    Bonjour


    En utilisant le paramètre userInterfaceOnly on peut autoriser le VBA à modifier les cellules protégées.

    Pour éviter toute interférence avec une protection ou déprotection manuelle (la tienne notamment en cas de maintenance) boucler sur les feuilles concernées lors du workbook open.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2015
    Messages : 10
    Par défaut
    Citation Envoyé par 78chris Voir le message
    Bonjour


    En utilisant le paramètre userInterfaceOnly on peut autoriser le VBA à modifier les cellules protégées.

    Pour éviter toute interférence avec une protection ou déprotection manuelle (la tienne notamment en cas de maintenance) boucler sur les feuilles concernées lors du workbook open.
    Merci ! Chouette astuce

    C'est résolu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Simple question concernant une requête
    Par RobinEF dans le forum Développement
    Réponses: 2
    Dernier message: 23/03/2012, 20h39
  2. Simple question concernant les navigateurs
    Par argon dans le forum VBScript
    Réponses: 11
    Dernier message: 17/04/2008, 19h46
  3. Simple question concernant une requeTe
    Par unix27 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 17/11/2006, 22h11
  4. Réponses: 2
    Dernier message: 17/03/2004, 13h58
  5. Question concernant l'API "WaitforSingleObject
    Par Drooxy dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 29/03/2003, 07h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo