Masquer et vérouiller une colonne par un mot de passe

Bonjour,

Dans le tableau ci-joint je souhaite que la colonne PV soit masquer et vérouillée par un mot de passe.

Ce tableau est à disposition de plusieurs personnes, mais seules 2 doivent avoir accès à cette colonne.

Je ne souhaite pas vérouiller la feuille ni le fichier, que la colonne.

En plus ce fichier doit être accessible par du EXCEL 2003-2007, en plus du 2010.

Merci pour votre aide

A bientôt

525planning-2014.xlsx (8.08 Ko)

Bonsoir,

Tu enlèves le vérouillage de toutes les cellules par click droit/onglet protection/décocher le vérouillage ou équivalent de ça dans Excel 2010. Tu masques la colonne à ne pas divulger à tous. Tu protèges la feuille avec un mot de passe. Tu communiques le MDP uniquement aux personnes qui doit voir cette colonne. Autrement, il faut prévoir une solution par macro.

Merci Raja pour ta réponse.

Malheureusement elle ne répond pas à ma question.

Le tableau doit rester accessible à tout le monde, puisque plusieurs personnes doivent pouvoir le compléter et le faire vivre tous les jours.

Si je protège la feuille avec un mot de passe, les personnes non habilitées ne pourront modifier aucune cellule, ni faire vivre le tableau.

Moi je veux que seule la colonne PV soit non accessible.

Quelle est ta proposition de macro ?

Merci pour votre aide

Bonjour Compta

La solution de Raja est la seule possible pour ce que tu souhaites

Le tableau doit rester accessible à tout le monde, puisque plusieurs personnes doivent pouvoir le compléter et le faire vivre tous les jours.

Je ne comprends pas, si tu suis la méthode indiquée par Raja, le tableau sera accessible !?

Si je protège la feuille avec un mot de passe, les personnes non habilitées ne pourront modifier aucune cellule, ni faire vivre le tableau.

Bien sur que SI, je pense que tu ne sais pas te servir d'Excel

En tout cas certainement pas par macro

J'aime les nouveaux venus qui pensent tout savoir, surtout devant un membre impliqué

A+

Salut BrunoM45,

Merci pour ton soutien à tous les intervenants bénévoles. Je comprends ton agacement vis à vis des remarques qu'on reçoit de temps à autres. Mais personnellement je suis indifférent. Sinon je ne pourrai pas continuer.

J'ouvre une parenthèse ici pour te dire ce que je pense après quelques années de service sur le site. Les demandeurs ne peuvent pas connaître ce que nous sommes et nos parcours etc. L'inverse est vrai également. Ils attendent qu'une seule chose, c'est qu'on leur donne rapidement ce qu'ils attendent. Mail, c'est là qu'il y a souvent des soucis. Il y a peu de gens expliquent clairement ce qu'ils ont envie d'obtenir ou bien ils ne nous donnent pas toutes les clés du probème voire ne fournissent pas le support sur lequel on pourra travailler et rendre la copie propre.

Une autre chose que j'ai remarquée, malgré les nombreuses possibiltés offertes par Excel pour résoudre la plupart des problèmes posés, en général, les auditeurs veulent une macro. Ils veulent peut être apprendre ou c'est plus chic, tendance etc. de dire que j'ai un programme qui marche automatiquement. Peu importe, je vais essayer de donner une solution par macro (malgré que je ne suis pas spécialiste en VBA, je sais qu'il y des champions sur notre site) à notre ami commun et je ferme la parenthèse.

Bonjour compta,

Il faut faire dans l'ordre les choses suivantes :

1. Sélectionner toutes les cellules/clique sur le carré à gauche de l'entête colonne A et au dessus de l'entête de la ligne 1

2. Clique droit/Format de cellule/Onglet Protection/décocher l'option "Vérrouillée" si elle est cochée

3. Insérer le code suivant dans le module "ThisWorkbook" :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = False Then
        Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = True
    End If
    Sheets("Feuil1").Protect "mdp"
End Sub
Private Sub Workbook_Open()
    reponse = InputBox("Saisir le mot de passe pour accès complet ou cliquer sur annuler", "Mot de passe")
    If reponse <> "" And reponse = "mdp" Then
        Sheets("Feuil1").Unprotect reponse
        If Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = True Then
            Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = False
        End If
    End If
End Sub

4. Le mot de passe donné dans le code "mdp" doit être remplacé par un VRAI mot de passe.

5. Il faut aussi protéger la macro dans l'éditeur de VBA, (là vous insérez les codes ci-dessus) par Outils/Propriétés de VBAProject/Onglet Protection/cocher l'option "Vérouiller le projet pour l'affichage"/mettre un mot de passe

6. Enregistrer le fichier.

7. Tester

Remarque non moins importante : Inutile de dire que les personnes qui peuvent lire la colonne masquée doit avoir le mot de passe pour déprotéger la feuille. Bien sur, le mot de passe pour visualiser la macro ainsi changer éventuellement le mot de passe (de la feuille) dans la macro, il n'y a que le créateur de la macro qui le détient. Ouf...

Bonjour Raja,

J'aimerai bien savoir si vous avez une solution pour protéger uniquement les colonnes masquer ?

Car votre solution protège le modification du format de tous colonnes de la feuille. mon besoin est de protéger uniquement la modification de format des colonnes masquer. et comme ça les utilisateur qui n'ont pas le MDP ne peuvent ni voir ni démasquer ces colonnes mais en contre partir ils peuvent tous modifier comme c'est rien n'a été protéger.

J'ai essayer avec ce code :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

If Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = False Then

Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = True

End If

Sheets("Feuil1").Range("G:G").Protect "2015"

End Sub

Private Sub Workbook_Open()

reponse = InputBox("Saisir le mot de passe pour accès complet ou cliquer sur annuler", "Mot de passe")

If reponse <> "" And reponse = "2015" Then

Sheets("Feuil1").Range("G:G").Unprotect reponse

If Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = True Then

Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = False

End If

End If

End Sub

Je souhaite que j'ai bien expliqué mon problème???

Et je m'excuse pour mon français

Bonjour Keurkneus

Inutile et compliquer de faire ça pas code VBA, tu peux simplement le faire en protégeant ta feuille

Fichier ->Protéger la feuille

Décocher si ce n'est pas déjà fait : Format de colonnes

A+

Raja a écrit :

Salut BrunoM45,

Merci pour ton soutien à tous les intervenants bénévoles. Je comprends ton agacement vis à vis des remarques qu'on reçoit de temps à autres. Mais personnellement je suis indifférent. Sinon je ne pourrai pas continuer.

J'ouvre une parenthèse ici pour te dire ce que je pense après quelques années de service sur le site. Les demandeurs ne peuvent pas connaître ce que nous sommes et nos parcours etc. L'inverse est vrai également. Ils attendent qu'une seule chose, c'est qu'on leur donne rapidement ce qu'ils attendent. Mail, c'est là qu'il y a souvent des soucis. Il y a peu de gens expliquent clairement ce qu'ils ont envie d'obtenir ou bien ils ne nous donnent pas toutes les clés du probème voire ne fournissent pas le support sur lequel on pourra travailler et rendre la copie propre.

Une autre chose que j'ai remarquée, malgré les nombreuses possibiltés offertes par Excel pour résoudre la plupart des problèmes posés, en général, les auditeurs veulent une macro. Ils veulent peut être apprendre ou c'est plus chic, tendance etc. de dire que j'ai un programme qui marche automatiquement. Peu importe, je vais essayer de donner une solution par macro (malgré que je ne suis pas spécialiste en VBA, je sais qu'il y des champions sur notre site) à notre ami commun et je ferme la parenthèse.

Bonjour compta,

Il faut faire dans l'ordre les choses suivantes :

1. Sélectionner toutes les cellules/clique sur le carré à gauche de l'entête colonne A et au dessus de l'entête de la ligne 1

2. Clique droit/Format de cellule/Onglet Protection/décocher l'option "Vérrouillée" si elle est cochée

3. Insérer le code suivant dans le module "ThisWorkbook" :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = False Then
        Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = True
    End If
    Sheets("Feuil1").Protect "mdp"
End Sub
Private Sub Workbook_Open()
    reponse = InputBox("Saisir le mot de passe pour accès complet ou cliquer sur annuler", "Mot de passe")
    If reponse <> "" And reponse = "mdp" Then
        Sheets("Feuil1").Unprotect reponse
        If Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = True Then
            Sheets("Feuil1").Range("G:G").EntireColumn.Hidden = False
        End If
    End If
End Sub

4. Le mot de passe donné dans le code "mdp" doit être remplacé par un VRAI mot de passe.

5. Il faut aussi protéger la macro dans l'éditeur de VBA, (là vous insérez les codes ci-dessus) par Outils/Propriétés de VBAProject/Onglet Protection/cocher l'option "Vérouiller le projet pour l'affichage"/mettre un mot de passe

6. Enregistrer le fichier.

7. Tester

Remarque non moins importante : Inutile de dire que les personnes qui peuvent lire la colonne masquée doit avoir le mot de passe pour déprotéger la feuille. Bien sur, le mot de passe pour visualiser la macro ainsi changer éventuellement le mot de passe (de la feuille) dans la macro, il n'y a que le créateur de la macro qui le détient. Ouf...

Bonjour à tous,

Après 3 ans votre code est toujours utile

Merci infiniment

Bonjour

j'ai peut-être pas bien tout suivi,

mais regarde si cela te convient, pas de formule, pas de vba

trop simple peut-être, c'est protéger mais pas de mot de passe, à ta guise....


en fait c'est la même solution que RAJA

Bonjour CORDIA5, merci de m’intéresser a mon message, je vais tester

Cordialement

Shanon

Bonjour CORDIA5,

C'est parfait mais c'est quoi l'astuce !

Quelle manipulation dois je fasse si je veux que les autres colonne seront en lecture seule (pas toutes les cellules)

Merci encore . . .

Bonjour

que veux tu faire exactement ?

Re-bonjour,

J'ai un fichier plein de renseignements, quelque colonnes doivent être cachées, d'autres en lecture seules le reste seront vide pour saisir.

P.S: ça sera gentil de ta part si vous m'expliquer la méthode a faire

Merci

pour commencer, affiches toutes les colonnes normalement,

ensuite sélectionne la colonne que touhaites masquer, clic droit, "masquer".

refait la manip pour l'ensemble des colonnes . a faire une par une si elles ne sont pas accollées.

ensuite, onglet "REVISION", puis "PROTEGER FEUILLE" saisis ou pas un mot de passe.

tu verras alors que les colonnes masquées, sont forcéments cachées mais en plus que tu ne peux pas les afficher, sauf si tu fais oter mot de passe et que tu le connaisse bien entendu.

j'espère que c'est clair, sinon, fais moi signe.

bon courage.

CORDIA5

Merci beaucoup CORDIA5 de m'avoir expliquer étape par étape, sauf que je vois pas ou je doit marqué cette discussion comme résolue par ce que ce n'est pas moi qui l'a commencer

Quand tu fais répondre, dans la case ou tu saisis ton message, tu as une petite coche en haut à droite me semble t-il.

@+

Rechercher des sujets similaires à "masquer verouiller colonne mot passe"