Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Geler la saisie dans les cellules sans pour autant affecter le filtre

  • Initiateur de la discussion lesuisse
  • Date de début
L

lesuisse

Guest
Bonjour à toutes zé à tous,

Comment faire pour bloquer la saisie dans les cellules d'une colonne sans en affecter le filtre ?
Parce qu'en protégeant la feuille, on empêche la possibilité de faire des filtres...

Merci !

Le Suisse
 
@

@+Thierry

Guest
Bonjour Le Suisse, le Forum

Non non non, on peut très bien protéger une feuille tout en ayant la faculté d'utiliser les Auto-Filters...

Regarde ce fil : Lien supprimé (au moins j'ai écrit va servir à quelqu'un (!))

Sinon on peut aussi faire comme ceci :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1).Select
End If
End Sub

Ce code, placé dans le Private Module de la Feuille en question, même si elle n'est pas protégée, empêchera toute saisie dans la Colonne "A" (en fait il empêchera toute sélection dans la colonne "A") donc à mettre en action uniquement une fois ta page mise en place.

Bon Aprèm
@+Thierry
 
L

lesuisse

Guest
Salut Thierry, le forum,

Merci pour l'aiguillage vers ton post de juillet dernier.
Ca donne ce qu il y a la en dessous.

Encore une questio : Est ce que l on peut intégrer un mot de passe en protégeant la feuille comme fait ci-dessous ?

Merci et bon aprem

Le Suisse


Columns("X:X").Select
Selection.Locked = False
Selection.FormulaHidden = False
Range("A1").Select

With ActiveSheet
.Protect UserInterfaceOnly:=True
.EnableAutoFilter = True
Range("X:X").Select
.EnableSelection = xlNoRestrictions
 
@

@+Thierry

Guest
Bonjour LeSuisse, le Forum

Désolé, je n'étais pas disponible pour une réponse plus rapide.

Il y a de grosses lacunes dans ta Syntax du code ci-dessus... (With sans End With.... Des Select inutiles et allourdissants...)

Voici une version revue et corrigée, qui va :

Avec la Feuille "Feuil1"
1) Protéger la feuille avec PassWord "toto" et rendre les Macros Utilisables même sur cellules protégées.
2) Authoriser l'usage de l'AutoFilter" (nécessite UserInterFaceOnly à Vrai)
3) Empécher la Séléction des Cellules Vérouillées
4) Masquer les Formules

Avec la Colonne "X" de cette même feuille :
5) dé-vérouiller cette Colonne "X"
6) dé-masquer les Formule de cette Colonne "X"
Fin Avec la Colonne "X"
Fin Avec la Feuille "Feuil1"

Voici la même chose en VBA : (à mettre dans un Module Standard)
Sub Ouverture()

With Sheets("Feuil1")
.Protect Password:="toto", UserInterfaceOnly:=True
.EnableAutoFilter = True
.EnableSelection = xlUnlockedCells
.Cells.FormulaHidden = True

With .Columns("X:X")
.Locked = False
.FormulaHidden = False
End With
End With
End Sub


Et pour l'activation de ces instructions à chaque ouverture (nécessaire, vue que UserInterFaceOnly est "volatile") il faut mettre ceci dans le Private Module de ThisWorkBook :

Private Sub Workbook_Open()
Ouverture
End Sub


Voilà LeSuisse, avec ceci ce devrait mieux tourner... Si tu ne veux pas que le Passworld soit Visible dans le Code, il y a plusieurs méthodes dont une, serait de cacher dans une Cellule IV65536 d'une feuille qui elle-même serait mise en mode masqué "VeryHidden" avec un code comme ceci :

Sub MasqueVeryHidden()
Sheets("Feuil2").Visible = xlSheetVeryHidden
End Sub

Et donc dans la Macro Ouverture :

Sub Ouverture()
Dim Pass As String

Pass = Sheets("Feuil2").Range("IV65536")

With Sheets("Feuil1")
.Protect Password:=Pass, UserInterfaceOnly:=True
'......... Etc etc


A noter que le code MasqueVeryHidden n'est pas à répeter et ne nécessite pas de démasquer la feuille pour être lu par la Macro "Ouverture"... Pour info, le mode VeryHidden empêche le User d'utiliser la commande Excel Menu => Format => Feuilles => Afficher... et assure ainsi une petite protection de plus pour ton Passworld (à condition que tes Users ne viennent pas sur XLD !!!)

Bon Samedi à Toi, à la Suisse et au Forum
@+Thierry
 
L

lesuisse

Guest
Bonjour Thierry, la Suisse, la France et le forum

T'as pas à etre désolé pour la réponse donnée que samedi !!
De toute facon on bosse pas le samedi en Suisse... dans les bureaux...

Une fois de plus, merci beaucoup pour le code...
Bonne journée à toi et aux autres !

A+

Le Suisse
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…