Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment autoriser les modifs dans certaines cellules uniquement ?

5 réponses
Avatar
AB
Bonjour,

Je vais donner à traduire une trentaine de classeurs. J'en ai ôté les
formules. Il s'agit donc de ne traduire que du texte. Je voudrais que le
traducteur puisse accéder uniquement aux cellules à traduire (i.e. ne pas
pouvoir écrire ailleurs) et ne puisse pas modifier leur emplacement (ni les
supprimer, bien sûr).
Possible, sans doute, mais je n'ai pas trouvé avec les outils de protection
proposés par Excel.
Merci de votre aide.
AB

5 réponses

Avatar
Francois L
Bonjour,

Je vais donner à traduire une trentaine de classeurs. J'en ai ôté les
formules. Il s'agit donc de ne traduire que du texte. Je voudrais que le
traducteur puisse accéder uniquement aux cellules à traduire (i.e. ne pas
pouvoir écrire ailleurs) et ne puisse pas modifier leur emplacement (ni les
supprimer, bien sûr).
Possible, sans doute, mais je n'ai pas trouvé avec les outils de protection
proposés par Excel.


Bonjour,

Par défaut, dans une feuille Excel, toutes les cellules sont
verrouillées. Voir Format de cellule, onglet Protection. Mais ce
verrouillage n'est, en fait, actif que si la feuille est protégée. Voir
le menu Outils, Protection.

Application pratique : pour permettre à l'utilisateur de ne modifier que
la plage A1:B5 d'une feuille...
1 Sélectionner cette plage
2 Décocher "Verrouillé" dans l'onglet "Protection" de "Format de cellule"
3 Protéger la feuille par le menu "Outils" "Protection" "Protéger la
feuille"

Toute modification (saisie de valeurs ou de formules, modification de
format, etc.) en dehors de la plage A1:B5 est alors impossible tant que
la feuille est protégée.

Les versions supérieures à 2000 possèdent des outils un peu plus
sophistiqués que je ne connais pas.

A retenir, le mot de passe éventuellement saisi peut être cassé par
n'importe qui sachant faire une recherche sur internet.

--
François L

Avatar
Jacky
Bonjour,

Autre solution..peut-être....

Nommer la plage modifiable, par exemple "Traduction"
et dans le module de la feuille:
'---------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Intersect(Target, [traduction]) Is Nothing Then MsgBox "Selection
interdite": [traduction].Select
End Sub
'----------
Salutations
JJ

"AB" a écrit dans le message de
news:
Bonjour,

Je vais donner à traduire une trentaine de classeurs. J'en ai ôté les
formules. Il s'agit donc de ne traduire que du texte. Je voudrais que le
traducteur puisse accéder uniquement aux cellules à traduire (i.e. ne pas
pouvoir écrire ailleurs) et ne puisse pas modifier leur emplacement (ni
les

supprimer, bien sûr).
Possible, sans doute, mais je n'ai pas trouvé avec les outils de
protection

proposés par Excel.
Merci de votre aide.
AB




Avatar
AB
Merci à vous deux.
Les solutions proposées fonctionneraient certainement, mais m'obligent à
sélectionner les plages modifiables une à une. Ce que je cherche, c'est
repérer automatiquement toutes les cellules non vides de la feuille, et
autoriser uniquement l'accès à ces cellules, et le changement de leur
contenu.
Possible ?
AB

"Jacky" a écrit dans le message de news:
%23OYVxU%
Bonjour,

Autre solution..peut-être....

Nommer la plage modifiable, par exemple "Traduction"
et dans le module de la feuille:
'---------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Intersect(Target, [traduction]) Is Nothing Then MsgBox "Selection
interdite": [traduction].Select
End Sub
'----------
Salutations
JJ

"AB" a écrit dans le message de
news:
Bonjour,

Je vais donner à traduire une trentaine de classeurs. J'en ai ôté les
formules. Il s'agit donc de ne traduire que du texte. Je voudrais que le
traducteur puisse accéder uniquement aux cellules à traduire (i.e. ne pas
pouvoir écrire ailleurs) et ne puisse pas modifier leur emplacement (ni
les

supprimer, bien sûr).
Possible, sans doute, mais je n'ai pas trouvé avec les outils de
protection

proposés par Excel.
Merci de votre aide.
AB








Avatar
Jacky
Re...
repérer automatiquement toutes les cellules non vides de la feuille, et
autoriser uniquement l'accès à ces cellules


Ceci alors...
'--------
Sub jj()
ActiveSheet.Unprotect
Cells.Locked = False
Cells.SpecialCells(xlCellTypeConstants, 23).Locked = True
ActiveSheet.Protect
End Sub
'---------
Salutations
JJ


"AB" a écrit dans le message de
news:
Merci à vous deux.
Les solutions proposées fonctionneraient certainement, mais m'obligent à
sélectionner les plages modifiables une à une. Ce que je cherche, c'est
repérer automatiquement toutes les cellules non vides de la feuille, et
autoriser uniquement l'accès à ces cellules, et le changement de leur
contenu.
Possible ?
AB

"Jacky" a écrit dans le message de news:
%23OYVxU%
Bonjour,

Autre solution..peut-être....

Nommer la plage modifiable, par exemple "Traduction"
et dans le module de la feuille:
'---------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Intersect(Target, [traduction]) Is Nothing Then MsgBox "Selection
interdite": [traduction].Select
End Sub
'----------
Salutations
JJ

"AB" a écrit dans le message de
news:
Bonjour,

Je vais donner à traduire une trentaine de classeurs. J'en ai ôté les
formules. Il s'agit donc de ne traduire que du texte. Je voudrais que
le



traducteur puisse accéder uniquement aux cellules à traduire (i.e. ne
pas



pouvoir écrire ailleurs) et ne puisse pas modifier leur emplacement (ni
les

supprimer, bien sûr).
Possible, sans doute, mais je n'ai pas trouvé avec les outils de
protection

proposés par Excel.
Merci de votre aide.
AB












Avatar
AB
Hello Jacky,
En fait, c'est exactement l'inverse : je voulais que seules les cellules
*non vides* soient modifiables. J'ai donc "inversé" ton code, comme ceci :
Sub jj()
ActiveSheet.Unprotect
Cells.Locked = True
Cells.SpecialCells(xlCellTypeConstants, 23).Locked = False
ActiveSheet.Protect
End Sub
Et ça marche parfaitement.
Merci beaucoup du coup de main.
Bonne soirée.
André

"Jacky" a écrit dans le message de news:

Re...
repérer automatiquement toutes les cellules non vides de la feuille, et
autoriser uniquement l'accès à ces cellules


Ceci alors...
'--------
Sub jj()
ActiveSheet.Unprotect
Cells.Locked = False
Cells.SpecialCells(xlCellTypeConstants, 23).Locked = True
ActiveSheet.Protect
End Sub
'---------
Salutations
JJ


"AB" a écrit dans le message de
news:
Merci à vous deux.
Les solutions proposées fonctionneraient certainement, mais m'obligent à
sélectionner les plages modifiables une à une. Ce que je cherche, c'est
repérer automatiquement toutes les cellules non vides de la feuille, et
autoriser uniquement l'accès à ces cellules, et le changement de leur
contenu.
Possible ?
AB

"Jacky" a écrit dans le message de news:
%23OYVxU%
Bonjour,

Autre solution..peut-être....

Nommer la plage modifiable, par exemple "Traduction"
et dans le module de la feuille:
'---------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Intersect(Target, [traduction]) Is Nothing Then MsgBox "Selection
interdite": [traduction].Select
End Sub
'----------
Salutations
JJ

"AB" a écrit dans le message de
news:
Bonjour,

Je vais donner à traduire une trentaine de classeurs. J'en ai ôté les
formules. Il s'agit donc de ne traduire que du texte. Je voudrais que
le



traducteur puisse accéder uniquement aux cellules à traduire (i.e. ne
pas



pouvoir écrire ailleurs) et ne puisse pas modifier leur emplacement
(ni
les

supprimer, bien sûr).
Possible, sans doute, mais je n'ai pas trouvé avec les outils de
protection

proposés par Excel.
Merci de votre aide.
AB