XL 2019 feuille qui se déprotège après saisie dans une cellule

  • Initiateur de la discussion Initiateur de la discussion pat66
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pat66

XLDnaute Impliqué
Bonjour Le forum

J'ai besoin de votre aide

Ma feuille protégée se déprotège dès que je modifie une valeur dans une cellule, et que j'appuies sur entrée

Cette action n'a pas de macro, seulement un calcul automatique

Merci
Bonne journée
 
Vas voir dans le code de ta feuille,
surement une macro événementielle dans le genre:
1594208806592.png

A+
Claudy
 
Re bonjour,
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("AE5")) Is Nothing Then
Select Case Range("AE5")
Case Is = 9
Exit Sub
Case Is <> 9
zaza = MsgBox("Si vous changez la durée d'utilisation, le montant de AS17 sera réinitialisé à zero ! ", vbYesNo + vbQuestion, "Excel")
If zaza = vbYes Then
Range("AS17") = 0
Range("AE5") = 9
Columns("AT:AT").EntireColumn.Hidden = True
Else
Exit Sub
End If

End Select

End If
End Sub

A+
Claudy
 
Bonjour Claudy

c'est presque çà, sauf que si je clique sur "non" dans le message box, la valeur dans AE5 change quand même, il faudrait la valeur saisit dans l'userform ne soit pas prise en compte

En clair
SI AE5 = 9 , rien ne se passe
Si dans l'userform je choisit autre que 9 "ex : 12",
MsgBox("Si vous changez la durée d'utilisation, le montant de AS17 sera réinitialisé à zéro ! ",

SI clic sur NON : rien ne se passe, rien ne change, la procédure est annulée et AE5 conserve la même valeur
SI clic sur OUI
AS17 = 0
AE5 = 9
SI la Colonne AT est affichée : on la masque
SI la colonne AT est masquée : elle le reste

un grand merci à toi pour ton aide et ta disponibilité

Patrick
 
Bonsoir,
j'ai essayé et ça fonctionne!
As tu placé la procédure
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
dans la bonne feuille?
Si tu as plusieurs feuilles, il faut coller la procédure
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
dans chaque code de feuille.
A+
Claudy
 
oui mais en fait j'ai oublié de te dire que j'ai aussi :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("AE5")) Is Nothing Then
UserForm1.Show
End If
End Sub

a mon avis c'est cela qui annule la saisie dans AE5 en cas de clic sur non ??

Patrick
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
151
Retour