XL 2013 Verrouiller une ligne en fonction d'une cellule

tmhassen

XLDnaute Nouveau
Bonjour
Je voudrait verrouiller une ligne en fonction de la valeur d'une cellule dans cette même ligne.
dans mon exemple :
si S3 (MONTANT) est 2 ou 3 toutes les autres cellules avant (de A3 a R3) seront verrouiller, mais si S3 est 1 ou 4 on pourra les modifier.
sachant que j’utilise "validation des données" pour certaines cellules, et plus important je ne connais pas grand chose en macro et vba.
merci de votre aide.
 

Pièces jointes

  • FICHIER TEST.xlsx
    84 KB · Affichages: 10

haonv

XLDnaute Occasionnel
Bonjour tmhassen,forum

Un essai par macro sur le fichier joint.
Par contre sur le fichier, "montant" est en colonne P et non S.
Il faudra donc voir sur le fichier réel si un ajustement est nécessaire.

Cordialement
 

Pièces jointes

  • FICHIER TEST.xlsm
    91.7 KB · Affichages: 9

tmhassen

XLDnaute Nouveau
Bonjour haonv
c'est bien la colonne S mais ETAT pas MONTANT.
c'est une liste déroulante avec du text : OPERE, ANNULE, REPORTE,...
Mais quand j'ai changé le code, ca ne marche pas avec la liste déroulante mais en texte libre ca marche.
voici les changements :

''sur la ligne suivante, on empêche la sélection de la colonne A à O
''ajuster le "O" de range("A4:O" suivant la colonne "Montant"
If Not Intersect(Target, Range("A4:R" & Range("A4").End(xlDown).Row)) Is Nothing Then
For Each c In Target
''sur la ligne suivante "16" renvoie la colonne "P" . A ajuster suivant la colonne montant
If Cells(c.Row, 19) = "opere" Or Cells(c.Row, 19) = "annule" Then
MsgBox "Une ou plusieurs cellules non modifiables ont été sélectionnées." & vbCrLf & _
"Veuillez refaire votre sélection"
Application.EnableEvents = False
Cells(1, 1).Select
Application.EnableEvents = True
Exit For
End If
Next
End If
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 917
Membres
101 839
dernier inscrit
laurentEstrées