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

Interdire cellule

12 réponses
Avatar
Philippe
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse pas modifier
une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est ce message
d'erreur. J'aimerais pouvoir mettre mon propre message. Que faire ?

Merci,

Philippe

10 réponses

1 2
Avatar
docm
Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire ceci:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub


"Philippe" a écrit dans le message
news:
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse pas
modifier

une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est ce message
d'erreur. J'aimerais pouvoir mettre mon propre message. Que faire ?

Merci,

Philippe


Avatar
Philippe
Bonjour,

Où dois-je mettre ce code ?

Philippe


Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire ceci:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub


"Philippe" a écrit dans le message
news:
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse pas
modifier

une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est ce message
d'erreur. J'aimerais pouvoir mettre mon propre message. Que faire ?

Merci,

Philippe







Avatar
docm
Clic droit sur l'onglet de la feuille en question / Visualiser le code


"Philippe" a écrit dans le message
news:
Bonjour,

Où dois-je mettre ce code ?

Philippe


Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire ceci:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub


"Philippe" a écrit dans le message
news:
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse pas
modifier

une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est ce
message



d'erreur. J'aimerais pouvoir mettre mon propre message. Que faire ?

Merci,

Philippe









Avatar
Philippe
OK, c'est pas mal, mais il est toujours possible de modifier la valeur de la
case!
Pas d'autres astuces ?

Philippe


Clic droit sur l'onglet de la feuille en question / Visualiser le code


"Philippe" a écrit dans le message
news:
Bonjour,

Où dois-je mettre ce code ?

Philippe


Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire ceci:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub


"Philippe" a écrit dans le message
news:
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse pas
modifier

une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est ce
message



d'erreur. J'aimerais pouvoir mettre mon propre message. Que faire ?

Merci,

Philippe














Avatar
docm
Si tu as mis ce code correctement, il est impossible de modifier la valeur
de la cellule A1 de cette feuille.


"Philippe" a écrit dans le message
news:
OK, c'est pas mal, mais il est toujours possible de modifier la valeur de
la

case!
Pas d'autres astuces ?

Philippe


Clic droit sur l'onglet de la feuille en question / Visualiser le code


"Philippe" a écrit dans le message
news:
Bonjour,

Où dois-je mettre ce code ?

Philippe


Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire
ceci:





Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub


"Philippe" a écrit dans le
message




news:
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse pas
modifier

une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est ce
message



d'erreur. J'aimerais pouvoir mettre mon propre message. Que faire
?






Merci,

Philippe
















Avatar
Philippe
Il efface ce qu'il y a dans la cellule pour écrire "valeur à conserver".
Ce n'est pas le but recherché. Que faire ?

Philippe


Si tu as mis ce code correctement, il est impossible de modifier la valeur
de la cellule A1 de cette feuille.


"Philippe" a écrit dans le message
news:
OK, c'est pas mal, mais il est toujours possible de modifier la valeur de
la

case!
Pas d'autres astuces ?

Philippe


Clic droit sur l'onglet de la feuille en question / Visualiser le code


"Philippe" a écrit dans le message
news:
Bonjour,

Où dois-je mettre ce code ?

Philippe


Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire
ceci:





Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub


"Philippe" a écrit dans le
message




news:
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse pas
modifier

une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est ce
message



d'erreur. J'aimerais pouvoir mettre mon propre message. Que faire
?






Merci,

Philippe





















Avatar
docm
Remplace dans le code "valeur à conserver" par la valeur que tu veux voir
apparaître en permanence dans la cellule A1.

docm

"Philippe" a écrit dans le message
news:
Il efface ce qu'il y a dans la cellule pour écrire "valeur à conserver".
Ce n'est pas le but recherché. Que faire ?

Philippe


Si tu as mis ce code correctement, il est impossible de modifier la
valeur


de la cellule A1 de cette feuille.


"Philippe" a écrit dans le message
news:
OK, c'est pas mal, mais il est toujours possible de modifier la valeur
de



la
case!
Pas d'autres astuces ?

Philippe


Clic droit sur l'onglet de la feuille en question / Visualiser le
code






"Philippe" a écrit dans le
message




news:
Bonjour,

Où dois-je mettre ce code ?

Philippe


Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire
ceci:





Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette
cellule"






End If
End Sub


"Philippe" a écrit dans le
message




news:
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse
pas







modifier
une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est
ce







message
d'erreur. J'aimerais pouvoir mettre mon propre message. Que
faire







?

Merci,

Philippe























Avatar
Philippe
Cette valeur est une valeur automatique qui ne sera jamais la même.

Philippe


Remplace dans le code "valeur à conserver" par la valeur que tu veux voir
apparaître en permanence dans la cellule A1.

docm

"Philippe" a écrit dans le message
news:
Il efface ce qu'il y a dans la cellule pour écrire "valeur à conserver".
Ce n'est pas le but recherché. Que faire ?

Philippe


Si tu as mis ce code correctement, il est impossible de modifier la
valeur


de la cellule A1 de cette feuille.


"Philippe" a écrit dans le message
news:
OK, c'est pas mal, mais il est toujours possible de modifier la valeur
de



la
case!
Pas d'autres astuces ?

Philippe


Clic droit sur l'onglet de la feuille en question / Visualiser le
code






"Philippe" a écrit dans le
message




news:
Bonjour,

Où dois-je mettre ce code ?

Philippe


Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire
ceci:





Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette
cellule"






End If
End Sub


"Philippe" a écrit dans le
message




news:
Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse
pas







modifier
une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est
ce







message
d'erreur. J'aimerais pouvoir mettre mon propre message. Que
faire







?

Merci,

Philippe




























Avatar
anonymousA
bonjour,

s'il s'agit seulement d'une valeur à conserver qui peut être variable
(faudrait-il encore que tu expliques comment tu vas la changer vu les
conditions exprimées par worksheet_change). En effet si tu veux changer
en automatique cette valeur il te faudra dans la proc qui change les
valeurs si c'est une proc, empêcher les evenements, autrement la valeur
restera la même.
Si par contre la cellule est le résultat d'une formule, alors la proc
evenementielle ne se déclenchera pas.PAr ailleurs, la proc ci-dessous
interdira aussi qu'on puisse selectionner uen plage contenant la cellule
A1 et effacer du coup le contenu de celle-ci.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub

A+


Cette valeur est une valeur automatique qui ne sera jamais la même.

Philippe



Remplace dans le code "valeur à conserver" par la valeur que tu veux voir
apparaître en permanence dans la cellule A1.

docm

"Philippe" a écrit dans le message
news:

Il efface ce qu'il y a dans la cellule pour écrire "valeur à conserver".
Ce n'est pas le but recherché. Que faire ?

Philippe



Si tu as mis ce code correctement, il est impossible de modifier la



valeur

de la cellule A1 de cette feuille.


"Philippe" a écrit dans le message
news:

OK, c'est pas mal, mais il est toujours possible de modifier la valeur




de

la

case!
Pas d'autres astuces ?

Philippe



Clic droit sur l'onglet de la feuille en question / Visualiser le





code


"Philippe" a écrit dans le





message

news:

Bonjour,

Où dois-je mettre ce code ?

Philippe



Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire





ceci:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette







cellule"

End If
End Sub


"Philippe" a écrit dans le





message

news:

Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse








pas

modifier

une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est








ce

message

d'erreur. J'aimerais pouvoir mettre mon propre message. Que








faire

?

Merci,

Philippe



























Avatar
Philippe
Bonjour,

Le message d'interdiction apparaît bien mais je peux toujours par la suite
changer la valeur de la cellule.
Je désespère....

Philippe


bonjour,

s'il s'agit seulement d'une valeur à conserver qui peut être variable
(faudrait-il encore que tu expliques comment tu vas la changer vu les
conditions exprimées par worksheet_change). En effet si tu veux changer
en automatique cette valeur il te faudra dans la proc qui change les
valeurs si c'est une proc, empêcher les evenements, autrement la valeur
restera la même.
Si par contre la cellule est le résultat d'une formule, alors la proc
evenementielle ne se déclenchera pas.PAr ailleurs, la proc ci-dessous
interdira aussi qu'on puisse selectionner uen plage contenant la cellule
A1 et effacer du coup le contenu de celle-ci.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
With Application
.EnableEvents = False
.Undo
.EnableEvents = True
End With
MsgBox "Il est interdit de modifier la valeur de cette cellule"
End If
End Sub

A+


Cette valeur est une valeur automatique qui ne sera jamais la même.

Philippe



Remplace dans le code "valeur à conserver" par la valeur que tu veux voir
apparaître en permanence dans la cellule A1.

docm

"Philippe" a écrit dans le message
news:

Il efface ce qu'il y a dans la cellule pour écrire "valeur à conserver".
Ce n'est pas le but recherché. Que faire ?

Philippe



Si tu as mis ce code correctement, il est impossible de modifier la



valeur

de la cellule A1 de cette feuille.


"Philippe" a écrit dans le message
news:

OK, c'est pas mal, mais il est toujours possible de modifier la valeur




de

la

case!
Pas d'autres astuces ?

Philippe



Clic droit sur l'onglet de la feuille en question / Visualiser le





code


"Philippe" a écrit dans le





message

news:

Bonjour,

Où dois-je mettre ce code ?

Philippe



Bonjour Philippe.

Pour empêcher toute modification à cette cellule, tu peux faire





ceci:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then
Application.EnableEvents = False
[a1] = "valeur à conserver"
Application.EnableEvents = True
MsgBox "Il est interdit de modifier la valeur de cette







cellule"

End If
End Sub


"Philippe" a écrit dans le





message

news:

Bonjour,

J'aimerais que l'utilisateur de ma feuille de calcul ne puisse








pas

modifier

une cellule.
Je sais que l'on peut verrouiller la case, le seul hic c'est








ce

message

d'erreur. J'aimerais pouvoir mettre mon propre message. Que








faire

?

Merci,

Philippe






























1 2