Signaler

Bloquer une cellule après y avoir entrée une donnée [Résolu]

Posez votre question bel.lor 3Messages postés jeudi 5 janvier 2017Date d'inscription 6 janvier 2017 Dernière intervention - Dernière réponse le 6 janv. 2017 à 15:14 par Mike-31
Bonjour,

Je ne sais pas si Excel a cette fonctionnalité. Je m'explique, dans une feuille partagée, je souhaite bloqué une cellule dès qu'un texte ou mot est écrit. Donc lorsque l'utilisateur sort de la cellule il ne peut revenir pour y apporter des changements. Est-ce possible . Merci de votre aide.
Afficher la suite 
Utile
+0
plus moins
Bonsoir,

Oui c'est tout à fait possible mais en VBA uniquement si tu as quelques notions
bel.lor 3Messages postés jeudi 5 janvier 2017Date d'inscription 6 janvier 2017 Dernière intervention - 5 janv. 2017 à 21:51
J'ai quelques notions de VBA. Si tu veux bien m'expliquer comment m'y prendre je t'en serais très reconnaissante. Merci d'avoir répondu
Répondre
Donnez votre avis
Utile
+0
plus moins
Re,

exemple tu veux contrôler la plage B6:P40
commence par sélectionner la plage B6:P40/clic droit/Format de cellule/onglet Protection/décoche Déverrouillée

ensuite il faut protéger la feuille, et pour que la déprotection ne se fasse pas d'un simple clic je te conseille la protection avec mot de passe "ATTENTION DE NE PAS L'OUBLIER"

dans le code j'ai prévu open comme mot de passe, donc soit tu changes ce mot de passe par celui utilisé lorsque tu protégeras ta feuille, soit tu protège ta feuille avec mon mot de passe open respecte également les majuscules et minuscules

clic droit sur l'onglet de ta feuille/Visualiser le code/coller le code ci dessous

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Selection, Range("B6:P40")) Is Nothing Then
If Target <> "" Or Target.Interior.ColorIndex <> xlNone Then
ActiveSheet.Unprotect Password:="open"
Target.Locked = True
ActiveSheet.Protect Password:="open"
End If
End If
End Sub

A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
bel.lor 3Messages postés jeudi 5 janvier 2017Date d'inscription 6 janvier 2017 Dernière intervention - 6 janv. 2017 à 15:00
Super, c'est exactement ce que je cherchais. Un gros merci. Bravo pour tes connaissances en Excell,
Répondre
Donnez votre avis
Utile
+0
plus moins
Re,

Alors je passe le statut de la discussion en résolu

dans mon code j'ai laissé trainer un contrôle qui testait la couleur de la cellule et donc inutile, supprime ce bout de code

Or Target.Interior.ColorIndex <> xlNone 

A+
Mike-31

Pas savoir n'est pas un échec, l'échec est le refus d'apprendre.
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !