Groupage/Dégroupage Feuille protégée

Bonjour

J'ai besoin de verrouiller une partie sd'une feuille de classeur mais les groupages dégroupage ne fonctionne plus

Je suis tombé sur le lien :
https://forum.excel-pratique.com/excel/grouper-dissocier-des-lignes-dans-feuille-protegee-t7445.html

Option Explicit
Private Sub Workbook_Open()
'Macro par Dan pour Fabrice69
With Sheets("Feuil1")
    .EnableOutlining = True
    .Protect userInterfaceOnly:=True
End With
End Sub

Ce morceau de code marche parfaitement mais la version à la main :

  • sur ton clavier appuie sur ALT + F11 pour aller dans VBA
  • A gauche tu verras en principe deux fenetre --> VBA project et Propriétés
  • Dans VBA projet, double clique sur la feuille concernée par tes groupes
  • Dans la fenêtre propriétés, tu verras une option "Enable Outlining"
  • A droite de cette option, clique dans la cellule mise à FALSE par défaut et attribue la valeur TRUE.
  • enregistre ton fichier.

Ne fonctionne pas

Auriez vous une solution ? Car je dois absolument éviter la macro

Cordialement;
Parrish

Bonjour

Waouh cela fait des années que j'ai posté dans ce fil ....

Ce morceau de code marche parfaitement mais la version à la main :

Le code que j'avais donné permet d'utiliser les groupages lorsque votre feuille est verrouillée. Il s'exécute à l'ouverture du classeur

Pourquoi ne voulez vous pas utiliser le code ?

Cordialement

Je sais qu'avec developpement je peux mettre EnableOutlining = True mais je ne trouve pas de paramètre pour mettre .Protect userInterfaceOnly:=True ce qui résoudrai le problème selon moi

Je dois partager ce fichier avec des utilisateurs avec peu de connaissance en Excel, c'est pourquoi je dois éviter les macro au maximum

Pas sûr d'avoir bien compris

ce que vous voulez c'est ne plus pourvoir dégrouper une fois la feuille protégée ?

Exemple:

Je verrouille els cellule du tableau A6 à D20
Forcément de 6 à 20 toutes mes colonnes ne sont pas utile pour mon interlocuteur, d'ou l'utilisation de groupage
2tant une personne maitrisant mal Excel, je dois lui verrouiller le tableau pour éviter qu'il ne casse les cellules.

J'aimerai donc pouvoir verrouiller ma plage (ca j'y arrive) tout en laissant les options de groupages dégroupage possible
(Sans utiliser de macro)

Cordialement;
Parrish

D'ailleurs,

A titre d'information personnel, je trouve la macro top il y a un moyen de la faire fonctionner directement pour tous les onglets ? ou en sélectionner plusieurs d'un coup ?

J'aimerai donc pouvoir verrouiller ma plage (ca j'y arrive) tout en laissant les options de groupages dégroupage possible (Sans utiliser de macro)

Alors dans l'outil "developpeur", vous mettez l'option Enableoutlining à TRUE sur la feuille concernée
Ensuite vous protégez votre feuille via le menu EXCEL --> Fichier -> Information --> Protéger le classeur puis option "Protéger la feuille Active"

je trouve la macro top il y a un moyen de la faire fonctionner directement pour tous les onglets ? ou en sélectionner plusieurs d'un coup ?

Oui mais il faut modifier un peu le code

Dan,
Merci pour la réponse mais cette solution ne marche pas, la feuille est verrouillé mais impossible d'utiliser le groupage.

Ta manipulation revient à faire ".EnableOutlining = True" à la main
Pour que cela marche je pense qu'il faut faire '.Protect userInterfaceOnly:=True" à la main aussi

D'ailleur j'ai remarqué qu'avec ta macro, en verrouillant le tableau je ne peux plus utiliser les onglets (accueils, insertions etc...) sur la partie de la feuille non protégè est-ce normal ? Il faudrait qu'il reste actif pour moi, j'en demande peut être beaucoup

Cordialement,
Parrish

Salut le fil,

A l'époque, utilisant un fichier sur un téléphone j'ai cherché la solution sans macro, je me suis cassé les dents, donc si quelqu'un a une solution je suis aussi preneur.

En fait le souci c'est que lorsque vous réouvrez le fichier l'option se remet à False si vous n'avez pas de code.
Pour la question des utilisateurs, le code s'exécute automatiquement à l'ouverture du fichier. Ils ne devraient donc rien voir

D'ailleur j'ai remarqué qu'avec ta macro, en verrouillant le tableau je ne peux plus utiliser les onglets (accueils, insertions etc...) sur la partie de la feuille non protégè est-ce normal ? Il faudrait qu'il reste actif pour moi, j'en demande peut être beaucoup

Le code comme il est proposé n'agit que sur la feuille nommée "feuil1". Donc cela ne concerne pas accueil, insertions etc...

Quelles sont les feuilles concernées par le groupement ?

Dan,

Pour "Le code comme il est proposé n'agit que sur la feuille nommée "feuil1". Donc cela ne concerne pas accueil, insertions etc..."
J'ai trouvé la solution, il fallait tout sélectionner avant de protéger la feuille

image

Il agit sur plusieurs feuilles exemple NORDIC, AUSTRALIE etc..... je sais que je peux dupliquer le code pour chaque onglet mais sa ne me parait pas très optimiser

Je vais partir en laissant le code VBA, comme tu l'a dit il ne devrait pas voir cette partie du code
D'ailleurs si l'utilisateur copie par exemple NORDIC dans un nouveau Excel il y a moyen que le code VBA se copie tout seul ?

Erreur de ma part ca ne fonctionne pas en réouvrant le fichier les critères cochés se retire

Il agit sur plusieurs feuilles exemple NORDIC, AUSTRALIE etc..... je sais que je peux dupliquer le code pour chaque onglet mais sa ne me parait pas très optimiser

Il ne faut pas on peut faire un code unique

Je vais partir en laissant le code VBA, comme tu l'a dit il ne devrait pas voir cette partie du code
D'ailleurs si l'utilisateur copie par exemple NORDIC dans un nouveau Excel il y a moyen que le code VBA se copie tout seul ?

Non le code ne sera pas copié.
On peut le faire mais cela implique d'aller mettre le code dans chaque feuille. Là c'est plus complexe et plus lourd à gérer.

Cela dépend du nombre de feuille à protéger. il faut faire au plus simple.
Donc savoir combien de feuilles sont à protéger par rapport au nombre global de feuilles.

Erreur de ma part ca ne fonctionne pas en réouvrant le fichier les critères cochés se retire

Heu c'est à dire ? si vous protégez la feuille les critères restent cochés. je ne comprends pas là

Heu c'est à dire ? si vous protégez la feuille les critères restent cochés. je ne comprends pas là

Alors, si je n'active pas la macro les critères reste par contre en réactivant la macro à l'ouverture du fichier, les critères se retire je pense qu'il faut les ajouter dans le code de la macro mais aucune idée de comment les rajouter

Alors, si je n'active pas la macro les critères reste par contre en réactivant la macro à l'ouverture du fichier, les critères se retire je pense qu'il faut les ajouter dans le code de la macro mais aucune idée de comment les rajoute

Je n'ai pas testé mais cela se peut que ce soit la lihne userinterface qui fait le travail
Oubliez la macro et l'outil developpeur pour l'instant

Lorsque vous protégez la feuille active, vous devez cocher la case "Format de ligne" dans les options de protection. Si elle est décochée le groupage / dégroupage ne fonctionne plus en cas de feuille protégée.

Toutes les cases sont cochés, de ce que j'ai compris il faudrait transformer la macro de cette façon :

Option Explicit
Private Sub Workbook_Open()
With Sheets("NORDIC") 'Mettre le nom de l'onglet entre les ""
    .EnableOutlining = True
    .Protect userInterfaceOnly:=True
    .DrawingObjects = True
    .Contents = True
    .Scenarios = True
End With
End Sub

Forcément, ca serait trop beau j'ai cette erreur sur le DrawingObjet:

image

Pourquoi ne faites vous pas sans code comme je vous ai écrit ?
Cela fonctionne très bien comme cela

Dan,

(Sans utiliser la macro)
Je coche toutes les cases et ca marche (sauf le groupage évidement), si j'active la macro seul les "Sélectionner les cellules verrouillées" et "sélectionner les cellules déverrouillées fonctionne"

Rechercher des sujets similaires à "groupage degroupage feuille protegee"