Pourquoi le collage dans une cellule non protégée dans Excel le protège-t-il?


12

En recherchant la réponse à cette question , je suis tombé sur un comportement assez étrange dans Excel lié aux cellules non protégées dans les feuilles de calcul protégées.

Pour voir ce que je veux dire, créez un nouveau classeur, déprotégez sa première cellule (A1) et protégez la feuille de calcul . La seule cellule dans laquelle le texte peut être entré maintenant doit être A1. Ensuite, allez dans une autre application (par exemple votre navigateur) et copiez du texte à partir de là. Sélectionnez la première cellule en cliquant une fois dessus (ne double-cliquez pas ou ne collez pas dans la barre de formulaire) et collez-y le texte.

Non seulement cela changera potentiellement la mise en forme de la cellule, mais cela définira également son indicateur protégé. Par la suite, il est impossible de modifier à nouveau le contenu de cette cellule sans supprimer la protection de la feuille de calcul (ou annuler l'opération de collage, bien sûr).

Pourquoi donc? Est-ce le comportement souhaité ou un bogue dans Excel 2010 (la version que j'ai utilisée pour l'essayer)?

Réponses:


13

C'est en fait le comportement attendu (bien attendu par Microsoft, pas forcément par les utilisateurs) qui est la bonne nouvelle. Et il y a un travail assez simple qui constitue la meilleure nouvelle.

Lorsque vous collez un morceau de texte formaté, la cellule reçoit le style "Normal", puis la mise en forme requise se superpose. Le style "Normal" par défaut a la protection définie sur verrouillée. C'est pourquoi il est appliqué.

La solution est de modifier le style "Normal". Pour répliquer une version résolue de ce problème, créez un nouveau classeur, puis:

1) Sur le ruban d'accueil dans la section Styles, cliquez avec le bouton droit sur la case Normal et cliquez sur Modifier. Appuyez sur le bouton Format et sur l'onglet de protection, décochez Verrouillé. (N'oubliez pas que cela ne s'applique qu'à cette feuille de calcul, mais que toutes les cellules seront désormais non protégées plutôt que protégées).

2) Sélectionnez Toutes les cellules, cliquez avec le bouton droit et choisissez le format des cellules, et sous protection, cochez Verrouillé.

3) Sélectionnez A1 uniquement, cliquez avec le bouton droit, choisissez le format des cellules et, sous protection, décochez Verrouillé.

4) Protégez la feuille de calcul

Maintenant, nous devrions être de retour au même point que l'exemple de la question en termes de cellules verrouillées et déverrouillées mais avec un style normal différent.

Maintenant, lorsque je colle du texte depuis un mot ou ailleurs, la cellule ne devient pas protégée.


Après avoir travaillé plusieurs années avec Excel, j'ai été choqué de découvrir cette "fonctionnalité". Je n'ai même pas cru quand mes utilisateurs en ont parlé jusqu'à ce que je me vérifie :) Heureux que vous ayez rencontré ces années avant moi: D
ZygD

1

La réponse précédente ne s'applique plus à la version la plus récente d'Excel 365. La version actuelle d'Excel 365 crée désormais un nouveau style nommé «Normal 2» ou tout autre numéro de séquence dont il a besoin. Il applique le nouveau style qui est verrouillé au lieu du style normal modifié.

Voici la solution pour Excel 365. Sélectionnez la plage de cellules que vous souhaitez que les autres puissent modifier. Ensuite, allez dans l'onglet "Révision". Dans la section "Modifications", cliquez sur "Autoriser les utilisateurs à modifier les plages". Cliquez sur le bouton "Nouveau". Votre plage sélectionnée sera automatiquement remplie avec un titre généré automatiquement. Apportez les modifications manuelles que vous souhaitez. Si vous souhaitez que les utilisateurs puissent effectuer des modifications uniquement avec un mot de passe, vous pouvez le saisir ici. Je préfère que les gens n'utilisent pas de mot de passe, je clique donc sur le bouton "Autorisations", puis sur "Ajouter". Je veux que tout le monde puisse modifier sans mot de passe, donc je saisis "Tout le monde" en tant qu'utilisateur autorisé à apporter des modifications. Si vous comprenez les autorisations, vous pouvez sélectionner un utilisateur ou un ensemble d'utilisateurs qui pourront effectuer des modifications sans mot de passe. Cliquez ensuite sur "OK" jusqu'à ce que toutes les fenêtres soient fermées. Protégez votre drap et vous êtes bon.


0

Je ne sais pas pourquoi cela se produit mais en ce qui me concerne, c'est un très gros bug. :-(

Il semble que chaque fois qu'Excel essaie de coller la mise en forme du texte avec le texte, il re-verrouille la cellule. Si vous choisissez Match Destination Formattingcomme option de collage; coller à partir d'un éditeur de texte brut comme le Bloc-notes; ou collez à partir d'un autre classeur dans la même instance d'Excel, puis la cellule est toujours déverrouillée par la suite. Si vous effectuez un collage régulier à partir d'une autre application qui a une mise en forme de texte, même une autre instance d'Excel, Excel verrouille votre cellule déverrouillée.

Le problème de formatage a au moins une solution de contournement où vous pouvez copier le formatage correct à partir d'une autre cellule et le coller à nouveau dans la cellule foirée.


Il s'avère que ce n'est pas un bug. J'ai ajouté ce que je pense être une solution et j'ai pensé que cela pourrait vous intéresser.
Alex Andronov

L'option de collage en texte brut (ou Correspondance de la mise en forme de la destination) est probablement la meilleure voie à suivre si vous avez déjà configuré votre feuille de calcul et que vous ne pouvez pas avoir à la configurer à nouveau en modifiant le style Normal. Cependant, il dépend des utilisateurs de la feuille de calcul sachant comment choisir différentes options de collage. D'après mon expérience, c'est très peu de gens!
user535673

0

Vous sélectionnez la cellule non protégée dans une feuille protégée (AtiveCell) dans laquelle vous collez des données à partir d'un navigateur Web. Après le collage, il devient protégé. Ce n'est pas souhaitable :-)

J'ai fait ça et ça marche!

Dans le sheet-code, dans mon cas "Sheet1":

Sub Worksheet_Change(ByVal Target as Range)

  ...some irellevant code...

  ActiveSheet.Unprotect   
  ActiveCell.Locked=False

  ...code that protects Sheet1

Exit Sub

0

Comme tout le monde sur cette page (et sujet) ont trouvé cela gênant. Cependant, la meilleure façon (pour moi) de contourner ce problème consiste à coller pour «coller des valeurs» lors de l'insertion de données et «coller spécial» - «hyperlien» lors du collage de liens. J'ai fait les choses de cette façon car j'ai généralement impliqué une mise en forme conditionnelle et je dois coller des valeurs comme une évidence (ou les modifications de mise en forme conditionnelle). J'espère que vous trouverez cela utile.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.