MFC avec critères illimités (problème avec protection feuille)
#1
Débutant XLPages

Inscription: 09/11/2008

Messages: 16

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 09-11-2008 17h52
Bonjour,

j'ai utilisé la macro permettant la mise en forme conditionnelle avec critères illimités.
Elle fonctionne à merveille! J'ai arrivé à faire ce que je voulé avec!
Néanmoins, je rencontre un problème lorsque je protège ma feuille!
La macro ne fonctionne plus et par conséquent la mise en forme conditionnelle ne se fait plus.
Pouvez vous m'indiquer précisément ce que je doit faire.
Je débute en VBA.

Merci d'avance.
Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-11-2008 18h50
Bonjour Romy et bienvenue,

Lorsque tu protèges une feuille de calcul par code VBA (au lieu de le faire manuellement), tu as la possibilité d'utiliser un argument qui se nomme "UserInterFaceOnly". Cet argument permet d'indiquer à Excel que la protection doit s'appliquer aux manipulations utilisateur, mais qu'il convient d'autoriser le code VBA à agir sur les cellules. Cette protection par code VBA doit se faire à l'ouverture du classeur et reste donc valable pendant toute la durée d'ouverture du document.

Il convient donc d'utiliser cette méthode pour ton projet utilisant la mDF MFCmultiples v5.0.

Une particularité supplémentaire est toutefois exigée par cette macro mDF MFCmultiples : la protection doit tout de même autoriser la modification des objets.

Pour ce faire, tu peux ajouter le code ci-dessous dans le module de code de l'objet ThisWorkbook :
Private Sub Workbook_Open()
    Sheets("Feuil1").Protect "MonPass", DrawingObjects:=False, UserInterfaceOnly:=True
End Sub

Bien sûr, les termes "Feuil1" et "MonPass" sont à adapter à tes besoins. "MonPass" est facultatif, si tu souhaites protéger sans mot de passe, il convient simplement de supprimer cet argument (et la virgule qui va avec).

Tu ajoutes donc ce code à l'endroit indiqué, tu supprimes ensuite ta protection manuelle de la feuille, tu sauvegardes le classeur, puis tu le fermes et le réouvres.

Si ces indications répondent à ton besoin, merci de revenir nous en informer et de mettre ce fil en Résolu.

Cordialement,




Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#3
Débutant XLPages

Inscription: 09/11/2008

Messages: 16

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 09-11-2008 19h54

Merci pour ta rapidité de réponse!
Peut tu m'expliquer comment on utilise l'argument qui se nomme "UserInterFaceOnly" car je ne voit pas comment il faut procéder.
J'ai pour habitude de protéger mes feuilles manuellement.

Merci d'avance.

Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-11-2008 20h02
Re,

Dans le post précédent, je t'ai mis l'exemple de code correspondant.

Qu'est-ce que tu ne comprends pas ?

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#5
Débutant XLPages

Inscription: 09/11/2008

Messages: 16

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 09-11-2008 20h18

RE,

J'ai bien copier ton code dans thisworkbook!
Cependant ma feuille n'est pas protéger
et lorsque je fais une protection manuelle j'ai en message d'erreur qui s'affiche!

je voudrai savoir s'il y a une autre manip à faire pour protéger ma feuille.

Mes autres macro sont utilisable avec la protection manuelle et le code suivant:

Feuil1.Unprotect Password:="code"
Feuil1.protect Password:="code"

que doit je faire pour ces macro?

Cordialement
Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#6
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-11-2008 20h40
Citation :
Romy a écrit :

J'ai bien copier ton code dans thisworkbook!
Cependant ma feuille n'est pas protéger



Citation :
myDearFriend! a écrit :

Tu ajoutes donc ce code à l'endroit indiqué, tu supprimes ensuite ta protection manuelle de la feuille, tu sauvegardes le classeur, puis tu le fermes et le réouvres.


Désolé, je ne saurais pas être plus clair... Je te conseille également de lire l'aide VBA sur la méthode Protect.

Par ailleurs, si tu fais comme je te l'indique et protège chaque feuille avec cet argument "UserInterfaceOnly" à l'ouverture du classeur, tu n'as aucunement besoin de déprotéger / protéger tes feuilles pour faire agir tes macros. Cet argument est justement fait pour éviter ça.

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#7
Débutant XLPages

Inscription: 09/11/2008

Messages: 16

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 09-11-2008 21h08
Merci beaucoup

ça fonctionne! c'été ma déprotection / protection présente dans mes autres macro qui empêcher le bon fonctionnement.
Et je n'avais pas fermer^puis réouvert le fichier comme tu me l'avais indiqué.

Encore merci.

Deux dernière petite questions

Comment je fais pour protéger les autres feuilles de mon classeur?
Comment je fais pour que l'utilisateur ne puisse pas voir mes formules de calcul, ni même sélectionné les cellules véroullés?

Merci d'avance

Romy
Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#8
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-11-2008 21h39
Citation :
Romy a écrit :
Deux dernière petite questions

Comment je fais pour protéger les autres feuilles de mon classeur?
Comment je fais pour que l'utilisateur ne puisse pas voir mes formules de calcul, ni même sélectionné les cellules véroullés?


Pour répondre au 2ème point, il convient d'échanger la ligne de code que je te proposais, par les lignes suivantes (et au même endroit) :
   With Sheets("Feuil1")
        .Protect "MonPass", DrawingObjects:=False, UserInterfaceOnly:=True
        .EnableSelection = xlUnlockedCells
        .Cells.FormulaHidden = True
    End With
Ceci est à adapter et répéter pour chacune des feuilles que tu souhaites protéger ainsi.

Et si tu as de nombreuses feuilles, tu peux utiliser une boucle pour faire cette opération. Ci-dessous, une façon de faire :
Private Sub Workbook_Open()
Dim F As Worksheet
    For Each F In Worksheets
        With F
            If .Name <> "MFC" Then
                .Protect "MonPass", DrawingObjects:=False, UserInterfaceOnly:=True
                .EnableSelection = xlUnlockedCells
                .Cells.FormulaHidden = True
            End If
        End With
    Next F
End Sub
Ce code va protéger toutes les feuilles du classeur à son ouverture sauf la feuille nommée "MFC" qu'il est préférable de masquer aux yeux de l'utilisateur final (par menu Format / Feuille / Masquer).

Pour les feuilles protégées par ce code : seules les cellules non verrouillées seront sélectionnables et les formules de calcul seront cachées. Ces 2 options sont d'ailleurs un peu "too much" puisque, si une cellule est verrouillée, on ne pourra pas la sélectionner, et donc on ne pourra pas voir sa formule dans la barre des formules...

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#9
Débutant XLPages

Inscription: 09/11/2008

Messages: 16

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 09-11-2008 22h56
Je pense avoir fait ce que tu m'avais dit!
Les feuilles sont bien bloquées à la première ouverture du fichier.
Cependant lorsque j'ajoute une donné dans une cellule ayant une MFC que je ferme et réouvre le fichier, les feuilles ne sont plus protéger.

J'ai fait ma manip sur le fichier exemple de ta MFC.

Essai de l'ouvrir
normalement les cellules sont protéger sauf le tableau jaune pale
ajoute une valeur dans le tableau jaune pale
ferme et réouvre le fichier
et la dans mon cas les cellules ne sont plus véroullés!

Di moi si tu rencontre le mêm problème et si tu sais comment le résoudre.

Merci d'avance
Pièce jointe:
xls mDF_MFCmultiples_v50.xls   [ Taille: 63.00 Ko - Téléchargements: 850 ]
Hors Ligne
Rapport   Haut 

Re: MFC avec critères illimités (problème avec protection feuille)
#10
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-11-2008 23h42
Re,

Tu as parfaitement raison Romy !
C'est un bug Excel que je n'avais encore jamais relevé. Je n'ai aucune idée du pourquoi réel de cette situation assez surprenante, mais j'en prends note. Merci à toi, pour m'avoir ouvert les yeux sur ce point.

Sinon, après plusieurs tests, voici comment corriger le code pour que ça fonctionne sans cette faille dorénavant :
Private Sub Workbook_Open()
Dim F As Worksheet
    For Each F In Worksheets
        With F
            If .Name <> "MFC" Then
                .Unprotect "MonPass"
                .Protect "MonPass", DrawingObjects:=False, UserInterfaceOnly:=True
                .EnableSelection = xlUnlockedCells
                .Cells.FormulaHidden = True
            End If
        End With
    Next F
End Sub
Il convient de forcer la déprotection (unprotect) et de la réactiver comme il se doit, dès l'ouverture du classeur.

A noter que même si une feuille n'était pas verrouillée à la fermeture précédente, le "Unprotect" ne cause aucun bug. Ce qui nous convient tout à fait dans le cas présent.

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes