Protection feuille

Résolu
Bonsoir
J'ai une feuille excel (2003) ou il y a un tableau
j'ai mis un filtre automatique pour faire des recherches et j'ai en même temps protéger certaines cellules
Mais une fois protéger, je peux bien sûr modifier mes cellules non protégées, mais par contre je ne peux plus utiliser mon filtre
Est ce qu'il y aurait une solution pour protéger mes cellules et continuer a pouvoir utiliser mes filtres
Bonne soirée et merci a tous
Cordialement

11 réponses

  1. Re,

    tu n'as rien compris, dans la Tiswokbook tu effaces les anciens codes
    et tu colles en remplacement ce code, remplace titi par ton mot de passe qui protège ta feuille

    Option Explicit

    Const onglet As String = "Récap paiement Challenge octNo"
    Const pass As String = "titi"


    au dessous colle ce code sans le modifier

    Private Sub Workbook_Open()
    Sheets(onglet).EnableAutoFilter = True
    Sheets(onglet).Protect Password:=pass, UserInterfaceOnly:=True
    End Sub


    enregistre et ferme ton fichier avant de l'ouvrir
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    1
    1. Re Bonjour
      Quand j'ouvre ma feuille et que j'autorise la macro, ensuite il me met "erreur d'exécution 9
      et dessous que l'indice n'appartient pas à la sélection
      je clique sur Fin
      Et quand j'enregistre puis j'ouvre a nouveau mon fichier et que je met mes filtres et que je protège et bien je ne peux toujours pas utiliser mes filtres, par contre je peux ouvrir un lien hypertexte
      je t'envoi une nouvelle capture d'écran pour que tu vois ce que ça me donne à l'écran
      Est ce à cause de mon Excel de 2003 ?
      https://www.cjoint.com/c/EJEmrUkxCTF
      Merci
      Cordialement
      0
  2. Re,

    on est tous passé par des moments difficiles, le principal est au moins d'écrire ce que l'on essaye d'expliquer, avec le VBA il faut impérativement écrire à l'identique, le problème venait de ta saisie pour le nom de l'onglet
    https://www.cjoint.com/c/EJEooboyduj
    1
    1. Bonsoir
      Merci
      Mais la loi de emmerdements maximales continue car je n'arrive pas a ouvrir ton lien
      J'ai beau regarder les lignes de la macro et je ne vois aucune différence, je ne comprends pas ou alors il me manque feuil3 devant
      Peux tu juste me récrire exactement ce qu'il faut mettre exactement entre les ( )
      Merci encore
      0
  3. Re,

    le lien est bon je viens de l'ouvrir, lorsque tu cliques sur le lien, un onglet dans le navigateur n'ouvre et te propose un nouveau le lien du fichier, lorsque tu cliques dessus une petite fenêtre s'ouvre et te propose soit de l'ouvrir et une fois ouvert tu l'enregistre sous, ou tu coches Enregistrer et tu le retrouves dans le dossier des Téléchargements.

    en tous cas le code complet pour filtrer sous protection que tu dois copier dans la Thiswokbook est

    Option Explicit

    Const onglet As String = "Récap Paiement Challenge Oct No"
    Const pass As String = "patrice"

    Private Sub Workbook_Open()
    Sheets(onglet).EnableAutoFilter = True
    Sheets(onglet).Protect Password:=pass, UserInterfaceOnly:=True
    End Sub


    ce code s'applique à l'onglet Récap Paiement Challenge Oct No et le mot de passe pour la protection de l'onglet est patrice
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    1
    1. Bonjour Mike
      Super ça fonctionne
      Incroyable
      Merci encore
      Tu est génial et sympas (je ne sais pas si on peux vous noter: pour moi c'est 10 sur 10)
      Bon week-end à toi et à ta famille
      0
  4. Re,

    Je ne cours pas après les appréciations, j'essaye simplement de partager ce que je sais faire et surtout maintenir voire approfondir mes connaissances.

    maintenant libre à toi de cliquer sur le + en haut à gauche du post qui te semble être positif ou sur le - si la proposition est hors sujet
    les réponses notées se placent en haut de la discussion ce qui rend les recherches plus facile par les internautes qui recherchent des solutions similaires
    Si tes attentes sont satisfaites, je passe le statut de la discussion en résolu.
    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    1
    1. Contributeur
      Bonjour
      lors de la protection de la feuille, vous avez un menu qui s'affiche avec une liste d'option.
      Dans la liste, cochez "utiliser les filtres automatiques "
      crdlmnt
      0
      1. Bonsoir
        Moi j'ai la version excel de 2003 et je ne trouve pas dans la liste la ligne "Utiliser les filtres automatiques"
        Dans quel version ça apparait
        Autrement il n'y a pas d'autres solutions?
        Cordialement
        0
    2. Bonsoir,

      A tester
      exemple pour la feuille1, Clic droit sur l'onglet de ta feuille, Visualiser le code, double clic sur la Thisworkbook
      et colle ce code, le mot de passe pour la protection de la feuille est toto à changer

      Private Sub Workbook_Open()
      Feuil1.EnableAutoFilter = True
      Feuil1.Protect Password:="toto", UserInterfaceOnly:=True
      End Sub


      revient sur ta feuille pas encore protégée place ton filtre, enregistre et ferme le fichier, la protection se mettra automatiquement en place

      ouvre ton fichier et teste ton filtre
      0
      1. Bonjour
        Désolé mais ça ne fonctionne pas
        La protection ne se met pas en place toute seule, la feuille n'est pas protégée
        As tu une autre solution
        Merci
        0
    3. Re,

      une autre solution non mais le code fonctionne parfaitement pour l'avoir testé.

      as tu collé ce code dans la Thiswokbook

      le code s'adresse t il à la feuille 1

      contrôle le niveau de sécurité qui doit être trop élevé
      0
      1. Bonsoir
        Ok pour la feuil 1sur l'exemple
        Sauf que moi ma feuil excel est la 3, alors j'ai corrigé la macro et j'ai remplacé 1 par 3

        Le niveau de sécurité est moyen, il y a deux niveaux au dessus, et en dessous c'est le niveau faible et il n'est pas recommandé
        Je fais comme tu me dis: mettre la macro dans ma feuil, je place mon filtre et j'enregistre
        et je ferme
        J'ouvre a nouveau mais la feuille n'est pas protégée et mon filtre fonctionne mais si je la protège, mon filtre ne fonctionne pas
        ?
        Private Sub Workbook_Open()
        Feuil3.EnableAutoFilter = True
        Feuil3.Protect Password:="toto", UserInterfaceOnly:=True
        End Sub
        Voila la correction faite, c'est bon ?
        Cordialement
        0
    4. Re,

      tu peux également utiliser le nom de ta feuille le code sera plus explicite pour toi, exemple à la place de dire Feuil3 tu utilises son nom d'onglet, exemple pour ta feuille nommée toto

      Private Sub Workbook_Open()
      Sheets("toto").EnableAutoFilter = True
      Sheets("toto").Protect Password:="titi", UserInterfaceOnly:=True
      End Sub
      0
      1. Bonjour
        Désolé
        Mais ça ne fonctionne pas
        Je ne peux utiliser le filtre
        Cordialement
        0
    5. Re,

      avant de donner un code je le teste, si tu utilises mon dernier code, le nom de ta feuille à traiter dans mon code est toto que tu dois changer par le nom de ta feuille concernée

      remplace le code précédent dans la Thiswokbook par mon dernier code
      remplace le nom de l'onglet toto dans le code par celui de ta feuille
      déprotége ta feuille, enregistre et ferme le fichier, lorsque tu relancera ton fichier il prendra en compte le code

      A+
      Mike-31

      Une période d'échec est un moment rêvé pour semer les graines du savoir.
      0
      1. Re bonjour
        Je ne sais pas si j'ai fais ce que tu ma dis, a priori Non
        Je t'envoi une copie de ma feuil avec la macro pour que tu me dise ou est l'erreur
        PS: si ça fonctionne je pourrai malgré la feuille protégée, utiliser mes filtres!!
        https://www.cjoint.com/c/EJDow4DpJiF
        Merci
        0
    6. Re,

      tu n'as changé qu'une fois le nom, il faut changer le nom sur les deux lignes

      Private Sub Workbook_Open()
      Sheets("toto").EnableAutoFilter = True
      Sheets("toto").Protect Password:="titi", UserInterfaceOnly:=True
      End Sub

      si non j'ajoute deux variables comme cela tu ne touches pas au code sauf dans les constantes ou tu remplaces entre les guillemets le nom de ta feuille toto par le nom de ta feuille concernée et titi pour le mot de passe qui protège ta feuille.
      avant de fermer et enregistrer la modif, déprotège la feuille pour que le nouveau mot de passe soit pris en compte et ne mette pas le code en erreur

      Option Explicit

      Const onglet As String = "toto"
      Const pass As String = "titi"

      Private Sub Workbook_Open()
      Sheets(onglet).EnableAutoFilter = True
      Sheets(onglet).Protect Password:=pass, UserInterfaceOnly:=True
      End Sub
      0
      1. Bonsoir
        Désolé j'ai essayé les deux et voici en photo ce que ça me donne
        Voici le nouveau lien avec les deux capture d'écran

        https://www.cjoint.com/c/EJDsOXpOi0F
        Bonne soirée
        Merci
        0
    7. Re,

      déjà une capture d'écran n'apporte rien et surtout ne me permet pas de modifier ton code.
      ensuite je me demande si tu lis mes réponses, ton code compte deux lignes, la première fait référence à un onglet nommé
      Sheets("Récap paiement Challenge octNo").EnableAutoFilter = True

      en la deuxième ligne à un onglet différent nommé toto
      Sheets("toto").Protect Password:=pass, UserInterfaceOnly:=True

      lorsque tu auras saisi le bon nom d'onglet impérativement identique au nom de l'onglet concerné dans les deux lignes tu auras fait un grand pas
      Sheets("Récap paiement Challenge octNo").EnableAutoFilter = True
      Sheets("Récap paiement Challenge octNo").Protect Password:="titi", UserInterfaceOnly:=True

      ce n'est tout de même pas très compliqué ou abandonne le VBA !

      A+
      Mike-31

      Une période d'échec est un moment rêvé pour semer les graines du savoir.
      0
      1. Re bonjour
        Tu as peut être raison, je ne vais pas abandonner mais je vais plus tôt acheter des livres pour me perfectionner
        je suis désolé et si j'étais un peu meilleur, et bien je ne ferai pas appel a vos services
        Excuse moi d'être aussi mauvais
        j'ai recopier mes deux lignes comme tu me la écris
        J'ai fermé et rouvert et il m'écris erreur d'exécution 9
        Et avec la feuille protégé les filtres ne fonctionne toujours pas
        C'est peut être Excel 2003 ?
        https://www.cjoint.com/c/EJEofjylXxF
        0