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 :

Bloquer modification manuelle des cellules sans toucher macros


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut Bloquer modification manuelle des cellules sans toucher macros
    Bonjour,

    J'aimerais pouvoir protéger mes cellules Excel en écriture sans toucher aux macros. Les utilisateurs pourront modifier les cellules qu'à l'aide des boutons mis à leur disposition. Y a-t-il une ligne de code en vba qui permet de faire ça.
    Merci d'avance.

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Il suffit de commencer la macro liée au bouton par un déblocage de la protection et de la terminer par une remise en place de cette protection.
    https://msdn.microsoft.com/fr-fr/lib.../ff840611.aspx
    https://msdn.microsoft.com/fr-fr/lib.../ff841143.aspx

    Si ta protection inclut un mot de passe, ne pas oublié de protéger aussi les macro, sinon n'importe qui pourra aller y lire le mot de passe en question.

  3. #3
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    Merci pour votre réponse. J'ai utiliser ce code :
    ActiveSheet.Unprotect "TonMotDePasse"
    'mon code...
    ActiveSheet.Protect "TonMotDePasse", True, True, True

    Ca marche bien mais je me heurte à quelques soucis. En faite j'ai crée un module dans un autre fichier qui permet de basculer les données finalisées dans le fichier où j'ai mis ce code. Et quand je clique sur ce bouton, il me dit que le classeur a été protégé du coup je ne peux pas basculer mes données dans ce fichier.

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ta demande n'est pas claire.
    Il faut que tu sois plus précise en ce qui concerne les deux fichiers (qu'est-ce qui se trouve dans quoi) et la nature exacte des protections (dans Excel, il y a de multiples façons de protéger des données).

  5. #5
    Membre confirmé
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2016
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2016
    Messages : 71
    Par défaut
    En faite j'ai deux fichiers qui sont liés. J'ai bloqué la modification manuelle des cellules en écriture du 1er fichier . Ainsi les utilisateurs ne pourront modifier ces cellules grâce aux boutons mis à leur disposition ( qui marche bien avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveSheet.Unprotect "TonMotDePasse"
    'Ici ton code...
    ActiveSheet.Protect "TonMotDePasse", True, True, True)
    L e deuxième fichier contient aussi un bouton qui permet de basculer mes données vers le 1 er fichier mais quand je clique sur ce bouton ça ne marche car il m'affiche un message d'erreur me disant que le 1 er fichier est protégé

  6. #6
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Dans ce cas, dans le code de ton second fichier, il faut mettre les mêmes commandes de (dé)protection mais en remplaçant ActiveSheet par la référence à la feuille de ton premier fichier (puisque l'Activesheet est dans ce cas ton second fichier).
    Quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("Fichier1.xlsm").Worksheets("Mafeuille")

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/07/2008, 18h09
  2. Identification des cellules sans formule
    Par Tifendro dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/06/2008, 21h45
  3. bloquer la taille des cellules grid_rowconfigure
    Par atalon1 dans le forum Tkinter
    Réponses: 1
    Dernier message: 16/10/2007, 00h07
  4. [DataGrid]Ajouter des cellules sans DataSource ?
    Par Filippo dans le forum ASP.NET
    Réponses: 2
    Dernier message: 21/09/2007, 15h55
  5. Crypter transit des données sans toucher au code source
    Par thecrafty dans le forum Protocoles
    Réponses: 2
    Dernier message: 08/06/2007, 17h31

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