OVH Cloud OVH Cloud

If ... Protect

7 réponses
Avatar
Vincent
Bonsoir
J'essaie d'écrire cela, mais cela ne fonctionne pas.

If Range("B3").Protect Then
MsgBox "Vous ne pouvez pas effacer cette fiche", vbExclamation, "Désolé..."
Exit Sub
End If

Pouvez-vous m'aider ?
Merci beaucoup

7 réponses

Avatar
Clément Marcotte
Bonjour,

À la pêche, pas testé.

Ce ne serait pas plutôt:

If Range("B3").Protect = true Then

ou

If Range("B3").Protect.enable = true Then


"Vincent" a écrit dans le message de
news:e$
Bonsoir
J'essaie d'écrire cela, mais cela ne fonctionne pas.

If Range("B3").Protect Then
MsgBox "Vous ne pouvez pas effacer cette fiche", vbExclamation,
"Désolé..."

Exit Sub
End If

Pouvez-vous m'aider ?
Merci beaucoup




Avatar
Vincent
Bonjour Clément
Théoriquement, cela devrait fonctionner, mais cela plante pareil
Merci quand même
Je cherche...
Vincent

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

À la pêche, pas testé.

Ce ne serait pas plutôt:

If Range("B3").Protect = true Then

ou

If Range("B3").Protect.enable = true Then


"Vincent" a écrit dans le message de
news:e$
Bonsoir
J'essaie d'écrire cela, mais cela ne fonctionne pas.

If Range("B3").Protect Then
MsgBox "Vous ne pouvez pas effacer cette fiche", vbExclamation,
"Désolé..."

Exit Sub
End If

Pouvez-vous m'aider ?
Merci beaucoup







Avatar
RaMA
Bonjour
If [B3].Locked Then
Salutations
RaMa
--
.
"Vincent" a écrit dans le message de news:
e$
Bonsoir
J'essaie d'écrire cela, mais cela ne fonctionne pas.

If Range("B3").Protect Then
MsgBox "Vous ne pouvez pas effacer cette fiche", vbExclamation,
"Désolé..."
Exit Sub
End If

Pouvez-vous m'aider ?
Merci beaucoup




Avatar
Claude Trouet
Bonjour,
Sauf erreur de ma part, pour qu'une cellule soit protégée, il faut que
celle-ci ait été vérrouillée
en utilisant le menu Format/Cellules puis cocher l'option verrouillée dans
l'onglet Protection.
Et encore, cela ne suffit pas, il faut que la feuille soit aussi protégée
même avec un mot de passe vide.
menu Outils/Protection/Protéger la feuille

Et dans ce cas, Excel, comme un grand, affiche une méga message d'erreur
quand il y a tentative de
modification de la cellule.
Inconvénient toutefois à cette protection de la feuille, c'est qu'on ne peut
plus agir sur le format (entre autre )
des autres cellules non protégées.
CT

"Vincent" a écrit dans le message de news:
e$
Bonsoir
J'essaie d'écrire cela, mais cela ne fonctionne pas.

If Range("B3").Protect Then
MsgBox "Vous ne pouvez pas effacer cette fiche", vbExclamation,
"Désolé..."
Exit Sub
End If

Pouvez-vous m'aider ?
Merci beaucoup




Avatar
Claude Trouet
Re bonjour,
En complément ce petit bricolage qui ne se contente pas d'afficher le
message et qui
réaffecte la valeur à la cellule dans le cas où elle aurait été changée.
A adapter, améliorer, etc ....

A mettre dans le module VBA de la feuille

Dim contenu
Dim cible

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = cible Then Target = contenu
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Locked = True Then
MsgBox "Verrouillée !"
cible = Target.Address
contenu = Target.Value
End If
End Sub

Bonne journée
CT

"Vincent" a écrit dans le message de news:
e$
Bonsoir
J'essaie d'écrire cela, mais cela ne fonctionne pas.

If Range("B3").Protect Then
MsgBox "Vous ne pouvez pas effacer cette fiche", vbExclamation,
"Désolé..."
Exit Sub
End If

Pouvez-vous m'aider ?
Merci beaucoup




Avatar
Vincent
Bonjour Rama, merci beaucoup c'est parfait
Vincent


"RaMA" a écrit dans le message de
news:%
Bonjour
If [B3].Locked Then
Salutations
RaMa
--
.
"Vincent" a écrit dans le message de news:
e$
Bonsoir
J'essaie d'écrire cela, mais cela ne fonctionne pas.

If Range("B3").Protect Then
MsgBox "Vous ne pouvez pas effacer cette fiche", vbExclamation,
"Désolé..."
Exit Sub
End If

Pouvez-vous m'aider ?
Merci beaucoup








Avatar
Vincent
Bonjour Claude,
En fait Rama a parfaitement répondu.
Merci pour ton aide.
Vincent

"Claude Trouet" a écrit dans le message de
news:
Re bonjour,
En complément ce petit bricolage qui ne se contente pas d'afficher le
message et qui
réaffecte la valeur à la cellule dans le cas où elle aurait été changée.
A adapter, améliorer, etc ....

A mettre dans le module VBA de la feuille

Dim contenu
Dim cible

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = cible Then Target = contenu
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveCell.Locked = True Then
MsgBox "Verrouillée !"
cible = Target.Address
contenu = Target.Value
End If
End Sub

Bonne journée
CT

"Vincent" a écrit dans le message de news:
e$
Bonsoir
J'essaie d'écrire cela, mais cela ne fonctionne pas.

If Range("B3").Protect Then
MsgBox "Vous ne pouvez pas effacer cette fiche", vbExclamation,
"Désolé..."
Exit Sub
End If

Pouvez-vous m'aider ?
Merci beaucoup