Protection feuille

Résolu
Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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
  7. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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
  8. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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
  9. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour
      Désolé
      Mais ça ne fonctionne pas
      Je ne peux utiliser le filtre
      Cordialement
      0
  10. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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
  11. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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
  12. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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. Patoche3344 Messages postés 216 Date d'inscription   Statut Membre Dernière intervention  
       
      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