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

Aide pour verrouiller cellule après saisie

4 réponses
Avatar
hys56
bonjour, je souhaiterais savoir comment verrouiller une cellule après avoir
écrit dedans et ce dans ce scénario d'exercice :
feuille1 : accueil et bouton commencer : apparition d'un inputbox pour
indiquer le nom (de l'élève) ok selon ce code placé sur la feuille2
Sub nom()
Dim reponse As String
reponse = InputBox("Veuillez entrer votre nom", "nom de l'élève")
If reponse = "" Then Exit Sub 'reste sur l'onglet feuille 1
If reponse <> "" Then
Range("a2").Value = reponse 'a1 étant le titre "nom de l'élève
Worksheets(2).Select 'ouvre l'onglet feuille2
End If
End Sub

passage à la feuille2: le nom est écrit dans la cellule précisée dans le
code je souhaiterais que cette cellule soit à présent verrouillée (elle
était déverouillée pour permettre d'y écrire)
l'exercice est un texte lacunaire avec des cellules déverrouillées, une
feulle protégée. Les cellules sont complétées à l'aide d'un inputbox selon
le code (qui fonctionne très bien) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim reponse As String
reponse = InputBox("Ecrivez votre réponse", "reponse")
If reponse <> "" Then
Target.Value = reponse
End If
End Sub

J'espère que ce n'est pas trop compliqué. Merci

4 réponses

Avatar
MichDenis
Si tu protège ta feuille à l'aide de ce code, par macro, tu pourras
modifier le contenu des cellules mêmes verrouillées sans aucun
problème et l'usager lui, n'y aura pas accès.
Dans le ThisWorkbook de ton classeur, copie ce qui suit en
spécifiant le nom de ladite feuille ou de toutes les feuilles

'-------------------------
Private Sub Workbook_Open()
Worksheets("Feuil1").Protect "MotDePasse", True, True, True, True
End Sub
'-------------------------



"hys56" a écrit dans le message de groupe de discussion :

bonjour, je souhaiterais savoir comment verrouiller une cellule après avoir
écrit dedans et ce dans ce scénario d'exercice :
feuille1 : accueil et bouton commencer : apparition d'un inputbox pour
indiquer le nom (de l'élève) ok selon ce code placé sur la feuille2
Sub nom()
Dim reponse As String
reponse = InputBox("Veuillez entrer votre nom", "nom de l'élève")
If reponse = "" Then Exit Sub 'reste sur l'onglet feuille 1
If reponse <> "" Then
Range("a2").Value = reponse 'a1 étant le titre "nom de l'élève
Worksheets(2).Select 'ouvre l'onglet feuille2
End If
End Sub

passage à la feuille2: le nom est écrit dans la cellule précisée dans le
code je souhaiterais que cette cellule soit à présent verrouillée (elle
était déverouillée pour permettre d'y écrire)
l'exercice est un texte lacunaire avec des cellules déverrouillées, une
feulle protégée. Les cellules sont complétées à l'aide d'un inputbox selon
le code (qui fonctionne très bien) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim reponse As String
reponse = InputBox("Ecrivez votre réponse", "reponse")
If reponse <> "" Then
Target.Value = reponse
End If
End Sub

J'espère que ce n'est pas trop compliqué. Merci
Avatar
hys56
bonjour et merci pour la réponse mais ce n'est pas ce que je cherche, il
faut que l'usager puisse accéder aux cellules qui restent déverrouillées via
l'inputbox et que la cellule dans laquelle s'est écrit son nom deviennent
verrouillée.
Cordialement
"MichDenis" a écrit dans le message de news:

Si tu protège ta feuille à l'aide de ce code, par macro, tu pourras
modifier le contenu des cellules mêmes verrouillées sans aucun
problème et l'usager lui, n'y aura pas accès.
Dans le ThisWorkbook de ton classeur, copie ce qui suit en
spécifiant le nom de ladite feuille ou de toutes les feuilles

'-------------------------
Private Sub Workbook_Open()
Worksheets("Feuil1").Protect "MotDePasse", True, True, True, True
End Sub
'-------------------------



"hys56" a écrit dans le message de groupe de
discussion :

bonjour, je souhaiterais savoir comment verrouiller une cellule après
avoir
écrit dedans et ce dans ce scénario d'exercice :
feuille1 : accueil et bouton commencer : apparition d'un inputbox pour
indiquer le nom (de l'élève) ok selon ce code placé sur la feuille2
Sub nom()
Dim reponse As String
reponse = InputBox("Veuillez entrer votre nom", "nom de l'élève")
If reponse = "" Then Exit Sub 'reste sur l'onglet feuille 1
If reponse <> "" Then
Range("a2").Value = reponse 'a1 étant le titre "nom de l'élève
Worksheets(2).Select 'ouvre l'onglet feuille2
End If
End Sub

passage à la feuille2: le nom est écrit dans la cellule précisée dans le
code je souhaiterais que cette cellule soit à présent verrouillée (elle
était déverouillée pour permettre d'y écrire)
l'exercice est un texte lacunaire avec des cellules déverrouillées, une
feulle protégée. Les cellules sont complétées à l'aide d'un inputbox selon
le code (qui fonctionne très bien) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim reponse As String
reponse = InputBox("Ecrivez votre réponse", "reponse")
If reponse <> "" Then
Target.Value = reponse
End If
End Sub

J'espère que ce n'est pas trop compliqué. Merci



Avatar
MichDenis
A ) Les cellules déverrouillés (format / cellules / onglet protection /
dont l'option "Déverrouillé" est cochée demeureront accessibles

B ) les cellules que tu ne veux pas qu'elles soient accessibles autrement
que par tes inputbox. tu les laisses verrouiller et tu appliques le type
de protection suggérée. Cela ne touche pas au cellules déverrouillées.

C ) L'autre alternative est :

Activesheet.unprotect
range("A1") = inputbox(....)
activesheet.protect ....


"hys56" a écrit dans le message de groupe de discussion :

bonjour et merci pour la réponse mais ce n'est pas ce que je cherche, il
faut que l'usager puisse accéder aux cellules qui restent déverrouillées via
l'inputbox et que la cellule dans laquelle s'est écrit son nom deviennent
verrouillée.
Cordialement
"MichDenis" a écrit dans le message de news:

Si tu protège ta feuille à l'aide de ce code, par macro, tu pourras
modifier le contenu des cellules mêmes verrouillées sans aucun
problème et l'usager lui, n'y aura pas accès.
Dans le ThisWorkbook de ton classeur, copie ce qui suit en
spécifiant le nom de ladite feuille ou de toutes les feuilles

'-------------------------
Private Sub Workbook_Open()
Worksheets("Feuil1").Protect "MotDePasse", True, True, True, True
End Sub
'-------------------------



"hys56" a écrit dans le message de groupe de
discussion :

bonjour, je souhaiterais savoir comment verrouiller une cellule après
avoir
écrit dedans et ce dans ce scénario d'exercice :
feuille1 : accueil et bouton commencer : apparition d'un inputbox pour
indiquer le nom (de l'élève) ok selon ce code placé sur la feuille2
Sub nom()
Dim reponse As String
reponse = InputBox("Veuillez entrer votre nom", "nom de l'élève")
If reponse = "" Then Exit Sub 'reste sur l'onglet feuille 1
If reponse <> "" Then
Range("a2").Value = reponse 'a1 étant le titre "nom de l'élève
Worksheets(2).Select 'ouvre l'onglet feuille2
End If
End Sub

passage à la feuille2: le nom est écrit dans la cellule précisée dans le
code je souhaiterais que cette cellule soit à présent verrouillée (elle
était déverouillée pour permettre d'y écrire)
l'exercice est un texte lacunaire avec des cellules déverrouillées, une
feulle protégée. Les cellules sont complétées à l'aide d'un inputbox selon
le code (qui fonctionne très bien) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim reponse As String
reponse = InputBox("Ecrivez votre réponse", "reponse")
If reponse <> "" Then
Target.Value = reponse
End If
End Sub

J'espère que ce n'est pas trop compliqué. Merci



Avatar
Jacky
Bonjour,

Pour verrouiller la cellule A2
[a2].Locked = True


--
Salutations
JJ


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

bonjour, je souhaiterais savoir comment verrouiller une cellule après
avoir écrit dedans et ce dans ce scénario d'exercice :
feuille1 : accueil et bouton commencer : apparition d'un inputbox pour
indiquer le nom (de l'élève) ok selon ce code placé sur la feuille2
Sub nom()
Dim reponse As String
reponse = InputBox("Veuillez entrer votre nom", "nom de l'élève")
If reponse = "" Then Exit Sub 'reste sur l'onglet feuille 1
If reponse <> "" Then
Range("a2").Value = reponse 'a1 étant le titre "nom de l'élève
Worksheets(2).Select 'ouvre l'onglet feuille2
End If
End Sub

passage à la feuille2: le nom est écrit dans la cellule précisée dans le
code je souhaiterais que cette cellule soit à présent verrouillée (elle
était déverouillée pour permettre d'y écrire)
l'exercice est un texte lacunaire avec des cellules déverrouillées, une
feulle protégée. Les cellules sont complétées à l'aide d'un inputbox selon
le code (qui fonctionne très bien) :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim reponse As String
reponse = InputBox("Ecrivez votre réponse", "reponse")
If reponse <> "" Then
Target.Value = reponse
End If
End Sub

J'espère que ce n'est pas trop compliqué. Merci