Grouper Dissocier dans une feuille protégée

Seiken781 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai protégé plusieurs feuilles excel (qui contiennent pas mal de formules) et j'aimerais pouvoir grouper dissocier les données afin d'avoir les infos importantes en lecture directe.

Problème lorsque je vérrouille mes feuilles excel ne me permet plus de grouper dissocier.

J'ai lu que le problème était contournable via une macro mais je ne m'y connais pas du tout.

Quelqu'un aurait il une procédure pas à pas ?
Précision : j'utilise Office 2013

Merci d'avance!

1 réponse

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    J'ai lu que le problème était contournable via une macro
    Tu parles d'un contournement : la macro enlèves la protection, fait l'action, puis la remet. Si tu veux faire autre chose que ce qui est codé faudra modifier la macro. D'autre part si la macro le permet, n'importe qui peut l'utiliser, quel est donc l'intérêt de la protection ?

    Je ne sais pas la raison de la protection mais j'espère qu'elle est pour toi obligatoire car si c'est le premier souci qu'elle te crée ce n'est pas le dernier, surtout si tu oublies le mot de passe.
    0
    1. Seiken781 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour,

      Pour être plus précis sur ma demande : le fichier va être partagé avec un certain nombres d'utilisateurs et j'ai besoin de protéger beaucoup de formules.
      Le fichier contenant énormément de lignes il faut que je puisse grouper dissocier pour éviter de défiler à la souris sur des centaines de lignes.

      La manipulation que j'ai lu était la suivante. J'ai essayé mais ça ne marche pas sur mon fichier.

      Avec VBA

      Private Sub Workbook_Open()
      With Worksheets("Feuil1")
      .EnableAutoFilter = True
      .EnableOutlining = True
      .Protect Contents:=True, Password:="Toto", UserInterfaceOnly:=True
      End With
      End Sub

      Je suis donc bloqué...
      0
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour,

      Le code que tu donnes ne peut en aucune manière te permettre tes groupages. Tu peux le modifier ainsi :
      Private Sub Workbook_Open()
      With Worksheets("Feuil1")
          .EnableAutoFilter = True
          .EnableOutlining = True
          .Protect "1234", , True, , True
      End With
      End Sub
      

      Je te propose ces 2 macros à mettre dans un module standard et que tu peux associer à des raccourcis (ctrl+g / ctrl+d par exemple) : pour grouper, tu sélectionnes tes lignes et ctrl+g et idem pour dissocier
      Public Sub grouper()
          ActiveSheet.Unprotect "1234"
          Selection.Rows.Group
          ActiveSheet.EnableOutlining = True
          ActiveSheet.Protect "1234", , True, , True
      End Sub
      
      Public Sub degrouper()
          ActiveSheet.Unprotect "1234"
          Selection.Rows.Ungroup
          ActiveSheet.EnableOutlining = True
          ActiveSheet.Protect "1234", , True, , True
      End Sub
      
      Tu remplaces 1234 par ton mot de passe bien sûr.
      0