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 :

Protéger une plage de cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Dut geii Nimes
    Inscrit en
    Mars 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dut geii Nimes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 73
    Par défaut Protéger une plage de cellule
    Bonjour,

    je voulais savoir si c'est possible de protéger une plage de cellule a partir d'un mot de passe en vba et si oui est ce que c'est possible que cette même plage soit à nouveau protégé chaque fois que je ferme le classeur et enregistre

    bien cordialement


  2. #2
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 969
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 969
    Par défaut
    bonjour
    je sais pas si ça t'aide ou non
    mais si tu veux verrouiller la plage B8 à J8 si A8 est différent de vide tu peux essayez avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$A$8" Then Exit Sub
    Me.Unprotect
    Range("B8:J8").Locked = Range("A8").Value <> ""
    Me.Protect
    End Sub

  3. #3
    Membre confirmé
    Femme Profil pro
    Dut geii Nimes
    Inscrit en
    Mars 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dut geii Nimes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 73
    Par défaut
    C'est pas tout a fait ce que je veux faire,
    je vais te joindre le fichier pour que tu puisses mieux voir
    MATRICE ANALYSE TENDANCE .xlsm

    je voudrai verrouiller la plage de cellule F5:AN9 et que seul la personne qui a le mot de passe puisse les modifier
    Puis je voudrai que quand la personne ferme le fichier, la même plage de cellule soit a nouveau verrouiller et que seule les personnes possédant le mot de passe puissent modifier cette plage

    Je sais pas si c'est plus clair ?

    J'ai oublié de préciser c'est la feuille2 qui est concerné

  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
    Pour protéger les cellules verrouillées d'une feuille, méthode Protect de Worksheet.
    https://msdn.microsoft.com/fr-fr/lib...1(v=office.15)

    Dans Excel, les cellules sont marquées verrouillées par défaut.
    Donc, avant de placer la protection, il faut penser à déverrouiller toutes les cellules que tu veux laisser accessibles.
    Pour ça, utilise la propriété Loked.
    https://msdn.microsoft.com/fr-fr/lib...2(v=office.15)

    à nouveau protégé chaque fois que je ferme le classeur et enregistre
    Placer la procédure dans des macro évènementielles Workbook_BeforeClose et Workbook_BeforeSave.
    https://docs.microsoft.com/fr-FR/off...ok.beforeclose
    https://docs.microsoft.com/fr-FR/off...ook.beforesave

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour BisBis,

    Pour être précis,

    Des cellules sont verrouillées ou non (VBA : propriété Locked à valeur booléenne VRAI, FAUX)
    Une feuille est protégée ou non (VBA: Propriétés Protect et Unprotect, avec mot de passe ou pas)

    Tu peux créer un bouton de commande qui va gérer l'une ou l'autre de ces propriétés.
    Un mot de passe serait demandé
    La modification ne s'effectuera pas jusqu'à ce que le mot de passe entré soit correct.

    Je ne vois pas de code.
    Si ce processus te convient, alors je te laisse le traduire en VBA.
    Bien entendu, tu reviens si nécessaire en retournant ton code et en précisant le bug éventuellement rencontré.

  6. #6
    Membre confirmé
    Femme Profil pro
    Dut geii Nimes
    Inscrit en
    Mars 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dut geii Nimes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 73
    Par défaut
    Menhir et marcelG merci pour vous aide

    voila ce que j'obtiens, le mot de passe est "mdp" par contre j'ai besoin de votre aide car quand j'essaie décrire dans la plage de cellule F5:AN10, on me demande bien un mot de passe
    mais le mot de passe "mdp" ne fonctionne pas,

    Merci à vous

  7. #7
    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
    Citation Envoyé par Bisbis27 Voir le message
    voila ce que j'obtiens, le mot de passe est "mdp"
    Peux-tu décrire exactement ce que tu as fais ?
    Parce que, normalement, un mot de passe ne "s'obtient" pas, c'est à l'utilisateur de le fournir.

    quand j'essaie décrire dans la plage de cellule F5:AN10, on me demande bien un mot de passe
    Quand on essaye d'écrire sur une cellule verrouillée par une protection de feuille, Excel ne demande pas un mot de passe mais indique que la feuille est verrouillée.

    Donc, je renouvelle la question : décris exactement et en détail ce que tu as fais.

  8. #8
    Membre confirmé
    Femme Profil pro
    Dut geii Nimes
    Inscrit en
    Mars 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dut geii Nimes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 73
    Par défaut
    Bonjour,

    désolé j'ai pas pu répondre avant parce que j'avais plus le fichier avec moi, du coup je te montre ce que j'ai fais
    MATRICE ANALYSE TENDANCE .xlsm

    Du coup quand je clique sur les cellules de la plage F5AN9, c'est bien verrouillé, on me demande un mot de passe, et lorsque j'entre le mot de passe que j'ai mis dans le code "mdp", ça ne fonctionne pas

    et j'ai un autre soucis j'avais créée un bouton pour masquer les colonnes qui du coup ne fonctionne plus quand ces plages sont verrouillés

    Merci pour votre aide

  9. #9
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Bisbis, Bonjour le Forum,

    et j'ai un autre soucis j'avais créée un bouton pour masquer les colonnes qui du coup ne fonctionne plus quand ces plages sont verrouillés
    C'est logique. La feuille est protégée.

    Une notion, avec beaucoup d'autres, me reste certainement à aborder.
    Je ne vois pas le code activant l'inputbox du mot de passe.

  10. #10
    Membre confirmé
    Femme Profil pro
    Dut geii Nimes
    Inscrit en
    Mars 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dut geii Nimes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 73
    Par défaut
    Nom : projet vba.png
Affichages : 1965
Taille : 24,6 Ko

    Voila le code que j'avais fait pour verrouiller les cellules avec un mot de passe.
    sauf que quand je clique sur les cellules F5 à AN9, il y a bien un mot de passe qui est demandé mais quand je rentre "mdp" ça ne fonctionne pas.

    J'ai pas compris ta 2 ème phrase "Une notion avec beaucoup d'autres, me reste certainement à aborder"

    Merci pour ta réponse

  11. #11
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    L'erreur est logique.
    Voir plus haut la raison, et en déduire la méthode à utiliser pour y remédier.

    Ce que je voulais dire.
    Je ne vois pas de code Inputbox dans le projet VBA.
    Peut-être as-tu utilisé la permission de modification des plages dans le ruban révision (dont, personnellement je ne me sers jamais).
    Mais là ce n'est plus du VBA

  12. #12
    Membre confirmé
    Femme Profil pro
    Dut geii Nimes
    Inscrit en
    Mars 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dut geii Nimes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 73
    Par défaut
    Dans un premier temps j'ai déverouiller toutes les cellules, en suite j'ai verouillé que la plage de donnée F5 AN9
    Puis j'ai mis ce code dans le workbook

    Nom : coode.png
Affichages : 1830
Taille : 4,9 Ko


    Pour l'erreur j'ai compris pourquoi tu dis que c'est logique, en faite si j'ai bien compris comme les cellules sont verrouillés, je ne peux pas masquer les colonnes.
    Mais j'ai vraiment aucune idée de comment y remédier, c'est impossible non ?

  13. #13
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Mais j'ai vraiment aucune idée de comment y remédier, c'est impossible non ?
    Je me répète.
    Les colonnes ne peuvent pas être masquées ou affichées si la feuille est protégée, donc....

  14. #14
    Membre confirmé
    Femme Profil pro
    Dut geii Nimes
    Inscrit en
    Mars 2015
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Dut geii Nimes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 73
    Par défaut
    Citation Envoyé par MarcelG Voir le message
    Je me répète.
    Les colonnes ne peuvent pas être masquées ou affichées si la feuille est protégée, donc....
    Donc il suffit d'ôter la protection ?

Discussions similaires

  1. [XL-2003] Protéger en lecture-écriture une plage de cellules
    Par basto dans le forum Excel
    Réponses: 2
    Dernier message: 02/07/2009, 12h08
  2. [VBA] Copier une plage de cellules dans un fichier fermé
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/01/2006, 16h52
  3. [VBA] Parcourir une plage de cellule
    Par Dinytro dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/09/2005, 08h18
  4. [VBA-E] Image d'une plage de cellule
    Par flogreg dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/07/2004, 12h30
  5. [VBA-E] [Excel] Protection d'une plage de cellules
    Par fikou dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/11/2002, 11h28

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