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 :

Empêcher l'utilisation de la fonction ôter la protection [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Empêcher l'utilisation de la fonction ôter la protection
    Bonjour à toutes et tous,

    J'ouvre une nouvelle discussion pour savoir si il est possible d'empêcher l'accès à la fonction "Ôter la protection de la feuille" qui se trouve dans le bandeau Excel ?
    Merci par avance pour vous réponses

    Amicalement
    René

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    certainement en bloquant le bouton dans la commandbars

    si il faut faire un unprotect pour pouvoir le faire alors sela devra etre fait en xml pas le choix
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour Patrick,

    Merci pour ta réponse. Je vais essayer de trouver la méthode.
    Amicalement
    René

    On peut aussi envisager le fait de masquer la barre de commande, non ?

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    masquer je ne sais pas si c'est possible sur les commandbars builtdin en vba

    je viens de tester pour toi et c'est bien ce que je pensais XML customui pas le choix
    le id de ce bouton c'est 893
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Le raccourci ALT + O + E + F --->> et la protection (siu pas de mot de passe) de la feuille est ôtée.

    Et donc ? protéger avec mot de passe (qui sera violé en environ 40 secondes par tout petit malin )

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    +1 avec Jacques.

    Vouloir protéger un classeur Excel est utopique.

    Masquer le bouton pour que personne n'y touche l'est tout autant.

    Protéger par mot de passe ne protège rien du tout, sauf contre la manoeuvre involontaire, auquel cas laisser Excel en l'état en protégeant la feuille "protège" tout aussi bien.


    La raison voudrait que l'on utilise Excel pour ce qu'il est => et donc, pas besoin de protection autre qu'une protection de la feuille sans mot de passe. Il serait plus intéressant et moins fastidieux de former les utilisateurs de ton classeur et de les responsabiliser par rapport à l'utilisation qu'ils en font.


    Pourquoi veux-tu masquer ce bouton?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    certainement en bloquant le bouton dans la commandbars

    si il faut faire un unprotect pour pouvoir le faire alors sela devra etre fait en xml pas le choix
    ???
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour Pierre
    D'autant que :
    1) s'il ne s'agit que d'éviter un geste accidentel, il suffit de ceci, qui remettra automatiquement la protection à chaque entrée dans une cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Not ActiveSheet.ProtectContents Then ActiveSheet.Protect
    End Sub
    Reste que l'utilisateur peut toujours entrer dans une cellule -->> modifier la protection --->> modifier le contenu de la cellule puisque, déjà dedans, l'évènement selectionchange n'intervient alors pas encore.
    Mais ce ne saurait dans ce cas qu'être vraiment intentionnel et non accidentel
    2) s'il s'agit par contre d'empêcher un acte intentionnel, nous n'avons plus affaire à un benêt, mais à un utilisateur malveillant -->> et celui-ci sait en général faire sauter très facilement ce genre de protection

  9. #9
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour à tous,

    Merci pour vos réponses.
    Je souhaite simplement protéger les feuilles pour éviter tout effacement accidentel des formules de calcul et également afin que l'utilisateur ne saisisse que les zones indispensables.
    Donc certaines cellules sont verrouillées et d'autres non.
    Certaines macros ne peuvent fonctionnées si il y a un mot de passe. Donc, j'ai prévu de déverrouiller et de re-verrouiller la feuille.

  10. #10
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Je souhaite simplement protéger les feuilles pour éviter tout effacement accidentel des formules de calcul et également afin que l'utilisateur ne saisisse que les zones indispensables.
    Donc certaines cellules sont verrouillées et d'autres non.
    Tu as donc la solution 1 de mon message précédent qui protège ce ce genre d'accident, sauf si (mais ce ne serait alors plus "accidentel") l'utilisateur fait plusieurs gestes successifs avant nouvelle sélection.

  11. #11
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    sans compter qu'il est très facile de rétablir systématiquement une formule, ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private maformule As String
     
    Private Sub Worksheet_Change(ByVal Target As Range)
      If maformule <> "" Then Target.Formula = maformule
    End Sub
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Target.HasFormula Then maformule = Target.Formula Else maformule = ""
    End Sub
    Voilà tout.

  12. #12
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Merci unparia pour tes bons conseils.
    Mais je vais clore cette discussion car elle déborde sur celle-ci déjà ouverte
    https://www.developpez.net/forums/d1...changer-passe/

  13. #13
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Ce sont deux discussions distinctes.
    Quant à la présente (protéger tes formules) : regarde ce que ferait, sans aucune protection nécessaire, ce tout petit mécanisme que je viens de m'amuser à mettre en place
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Static ou As Range
      If ou Is Nothing Then Set ou = UsedRange.SpecialCells(xlCellTypeConstants)
      If Target.HasFormula Then
         MsgBox "on ne touche pas aux formules"
         ou.Select
      Else
        Set ou = Target
      End If
    End Sub
    Même pas besoin de protéger ta feuille.

  14. #14
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Je ne pensais pas que cela soit possible.
    Merci beaucoup pour le tuyau, cela va beaucoup m'aider.

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    dans le meme style

    mettre un label transparent sans texte de caption recouvrant la plage qui ne doit pas etre touchée

    quand tu cherche a cliquer sur une de ces cellules il devient blanc (regler ne pas deplacer l'object et ne pas imprimer)

    sans code !!!
    Nom : demo2.gif
Affichages : 1320
Taille : 73,7 Ko
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Des solutions faciles auxquelles je n'avais pas pensé et même imaginées

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    et avec un code
    au cas ou un petit malin aurait trouvé moyen de modifier tes cellules

    dans l'evenement change (pas selection change je dis bien change !!!)

    fermer brutalement le classeur sans enregistrer avec un message avertissant l'utilisateur msgbox "c'est pas aujourd'hui petit malin je ferme et tu devra tout recommencer hihihi"


    et rendre la chose plus compliqué je melange le code
    c'est a dire au lieu de faire toute mes actions dans l'evenement requis certaine variable sont dans d'autres subs
    ce qui fait que si l'utilisateur averti irais shunter les lignes de code de l'evenement
    soit les autres sub manque les valeurs au quel cas "crash"
    soit si il trouve les valeur et les shunte l'evenement "crash"
    ca reste quand meme possible mais pour les utilisateur avertis qui sauraient comment chercher
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par NEC14 Voir le message
    [...]Certaines macros ne peuvent fonctionnées si il y a un mot de passe. Donc, j'ai prévu de déverrouiller et de re-verrouiller la feuille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    feuil1.Protect userinterfaceonly:=true
    protège la feuille mais permet au code VBA de la modifier.

    Pour protéger les formules sans protéger le classeur, tu peux placer une validation sur tes cellules formulées (Données > Outils de Données > Validation des données) puis tu choisis Personnalisé et tu saisis la formule =FAUX.

    Il sera alors impossible de saisir quelque chose dans les cellules qui ont cette validation. Bien entendu, il sera toujours possible de copier-coller, de supprimer...

    Question bête: La protection "sans mot de passe", voire avec, ne te suffit pas (surtout si tu utilises le code renseigné en début de message pour protéger...)?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  19. #19
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Connaissant les utilisateurs, je dois absolument protéger le document.
    Il y a par exemple un numéro incrémenté, il ne faut pas qu'ils puissent y aller pour le modifier.

    C'est malheureux, mais je suis obligé de penser à ce qu'ils pourraient faire, imaginer le pire !

  20. #20
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Connaissant les utilisateurs, je dois absolument protéger le document.


    C'est malheureux, mais je suis obligé de penser à ce qu'ils pourraient faire, imaginer le pire !
    Tu peux alors (s'ils sont vraiment si débrouillards) mettre ce rêve aux oubliettes, y compris si tu mets toutes les protections Excel possibles et imaginables. Elles seront ôtées facilement, les données remplacées carrément en mode création, puis tout sera remis en place dans l'état antérieur et sans carte de visite !
    Et s'ils ne sont pas eux-mêmes débrouillards, ils trouveront autour d'eux un bon lot de copains débrouillards... en moins de deux.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/05/2015, 23h58
  2. Utilisation de la fonction de déploiement
    Par mchicoix dans le forum XMLRAD
    Réponses: 4
    Dernier message: 01/03/2005, 15h35
  3. [LG]Utilisation de la fonction Random
    Par chloe95 dans le forum Langage
    Réponses: 1
    Dernier message: 01/03/2005, 15h20
  4. Utilisation de la fonction qsort
    Par Jsmeline dans le forum C
    Réponses: 8
    Dernier message: 28/01/2005, 13h40
  5. [LG]librairies : utiliser seulement quelques fonctions
    Par wwwroom dans le forum Langage
    Réponses: 13
    Dernier message: 14/05/2004, 23h50

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