XL 2010 Bloquer message d'alerte dans une feuille protégée par mot de passe

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

J'ai protégé une feuille avec un mot de passe. Si malencontreusement je rentre une donnée dans une cellule protégée, apparaît la sempiternelle alerte : "La cellule est protégée... bla bla bla".
Bon, on sait ! Existe-t-il un moyen pour que cette alerte n'apparaisse plus ?
J'ai bien essayé avec Application.DisplayAlerts = False, mais ça apparaît toujours.
 
Bonjour Magic_Doctor, M12, le forum

tu peux empêcher la sélection des cellules verrouillées
ou
rediriger la touche F2 et désactiver le double clic sur les cellules verrouillées.
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Locked Then Cancel = True
End Sub
si c'est uniquement en vba, tu peux tester la propriété locked d'une cellule avant modification ou utiliser le paramêtre UserInterfaceOnly lors de la commande de protection de la feuille pour qu'elle n'impacte pas ta macro.

Bien cordialement, @+
 

Magic_Doctor

XLDnaute Barbatruc
Bonjour M12, Yeahou, le forum,

Comme je le précisais dans le post#1, je voudrais seulement que les cellules bloquées restent bloquées, mais si, par inadvertance, on y rentrait une donnée, alors que le message d'alerte n'apparaisse pas et que rien ne puisse s'y écrire.
J'ai cherché un peu prtout et j'ai l'impression que ce n'est pas possible.
 

job75

XLDnaute Barbatruc
Bonjour Magic_Doctor, M12, Yeahou, Lionel,

Quand on essaie de modifier le contenu d'une cellule verrouillée d'une feuille protégée il y a toujours un message et ce message ne peut pas être évité.

Si l'on ne veut pas de message il faut que toutes les cellules de la feuille soient déverrouillées.

Voyez le fichier joint et cette macro qui évite la modification des cellule incolores :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, UsedRange)
If Target Is Nothing Then Exit Sub
For Each Target In Target
    If Target.Interior.ColorIndex = xlNone Then _
        With Application: .EnableEvents = False: .Undo: .EnableEvents = True: End With: Exit For
Next
End Sub
A+
 

Pièces jointes

  • Modifier(1).xlsm
    15.9 KB · Affichages: 7

Magic_Doctor

XLDnaute Barbatruc
Bonjour job, le forum,

Ta solution est vraiment intéressante. Le problème est que dans l'ensemble des cellules colorées seule une cellule reçoit des données, les autres n'affichent que des résultats et sous aucun prétete on ne peut écire dessus.
Après tout, on ne peut pas avoir le beurre et l'argent du beurre... En somme je me contenterai de ton commentaire : "ce message ne peut pas être évité." Ce n'est pas grave. Mais c'est quand même bizarre que l'on puisse éviter certains messages d'erreurs et autres alertes, mais pas celle-ci.
 

Etoto

XLDnaute Barbatruc
Bonjour à tous,

Je ne connais pas assez mais j'ai peut-être une idée, est-ce possible de protéger des cellules par VBA sans la protection "basique" ? Cela veut dire qu'Excel ne reconnait pas ces cellules comme protégées mais on ne peux pas les modifier si on a pas de mot de passe et dans le fond vu que cette protection bricolée est faite main, il n'y a pas de fenêtre qui s'ouvre. Je ne sais pas si vous m'avez compris et chers experts, je voudrais savoir si un code de ce genre est possible parce que c'est une idée que j'ai eue mais je n'ai pas votre niveau alors je sais pas si c'est réalisable.

Merci d'avance
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
315 097
Messages
2 116 186
Membres
112 679
dernier inscrit
Yupanki