Bonjour à tous,
Alors voila!!!
je veux verrouiller une plage de donnée tant que deux autres cellules ne sont pas remplie. Et afficher un message d'erreur si l'utilisateur tente de saisir quelque chose. Il peut sélectionner la cellule mais ne peut pas la remplir.
Ci joint l'exemple.
Merci!!
Re : Comment vérouillé une cellule avec condition et message d'erreur
Bonjour Andry,
Voici ci-joint une macro permettant de faire cela.
Je te laisse tester et voir si cela correspond à tes attentes.
-> à l'ouverture du fichier, excel verrouille l'accés aux cellules de B5 à B...
-> à chaque saisie, excel vérifie si le nom et le prénom sont renseignés. Tant que ce n'est pas fait la macro demande de faire le nécessaire et laisse verrouillé la saisie dans les cellules mentionnées ci-dessus.
-> Une fois le nom ET le prénom renseigné, la macro débloque la saisie pour les cellules B5 à B...
-> Si le nom et/ou prénom précédemment renseigné venait à être effacé, la macro re-vérouillerais la saisie dans les cellules B5 à B... et demanderais à l'utilisateur de remédier à la situation
Re : Comment vérouillé une cellule avec condition et message d'erreur
Bonjour!! et merci de s'intéresser à mon problème.
Est ce que c'est possible de séparer les 2 messages: nom et prénom?
le macro fonctionne très bien mais c'est la feuille qui est verrouillé et non pas les cellules B5 à B14. Et lorsque je sélectionne la cellule B1 afin de remplir le nom, j'ai le message d'erreur!
Encore merci!!
Re : Comment vérouillé une cellule avec condition et message d'erreur
Bonjour, le Fil, le Forum,
Une autre suggestion dans le fichier joint.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
If Range("B1") = "" Then Rows("2:15").EntireRow.Hidden = True
If Range("B1") <> "" Then Rows("2:2").EntireRow.Hidden = False
If Range("B2") = "" Then Rows("3:15").EntireRow.Hidden = True
If Range("B2") <> "" Then Rows("3:15").EntireRow.Hidden = False
If Range("B1") <> "" And Range("B2") <> "" Then Rows("3:15").EntireRow.Hidden = False
If Range("B1") <> "" And Range("B2") <> "" Then
ActiveSheet.Shapes("Message").Visible = False
Else
ActiveSheet.Shapes("Message").Visible = True
End If
Application.ScreenUpdating = True
End Sub
Si, toutefois, la macro n'était pas activée, elle ne serait d'aucune efficacité ...
Re : Comment vérouillé une cellule avec condition et message d'erreur
Merci à tous!!
effectivement le plus simple c'est passer par validation!
Je vais faire un mix des 3 macros et je vous tiens au courant du résultat (sinon validation)!!
Re : Comment vérouillé une cellule avec condition et message d'erreur
Bonjour,
et pour protèger une formule de la ou les cellules :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Range("C36:D36"), Target) Is Nothing Then
Target.Offset(0, 1).Select
End If
End Sub