demande d aide pour modifier un code vba pour verrouiller cellule

snoopy07

XLDnaute Junior
Bonsoir le forum

il y a plusieurs années on ma donné ce code vba pour verrouiller des cellules suivant une condition
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Const listeFeuilles As String = "Janv/Févr/Mars/Avri/Mai/Juin/Juil/Août/Sept/Octo/Nove/Déce"
    Dim lig As Long
    If InStr(listeFeuilles, Sh.Name) = 0 Then Exit Sub
    ActiveSheet.Unprotect
    For lig = 5 To Cells(Rows.Count, "F").End(xlUp).Row - 1
        If IsDate(Cells(lig, "F")) And Cells(lig, "D") = 7 Then
         Cells(lig, "H").Resize(1, 3).Locked = True
        
        Else
             Cells(lig, "H").Resize(1, 3).Locked = False
        End If
        
    Next lig
    ActiveSheet.Protect
End Sub
dans mes cellules j avais mis la fonction suivante
=Si(D5=7;0;"")

Aujourd’hui j ai modifier ma fonction pour verrouiller les cellule suivant la fonction suivante
=SI(OU(D5=7;D5=1;B5=1);0;"")

j ai essai de rajouter a mon code

If IsDate(Cells(lig, "F")) And Cells(lig, "D") = 1 Then
Cells(lig, "H").Resize(1, 3).Locked = True

If IsDate(Cells(lig, "F")) And Cells(lig, "B") = 1 Then
Cells(lig, "H").Resize(1, 3).Locked = True
mais ça marche pas

donc je n arrive pas a modifer mon code pour que ca puisse marcher

je voudrais avoir quelque conseils pour reussir a modifier mon code pour que ca marche

merci d avance

cordialement

Snoopy 07
 

JM27

XLDnaute Impliqué
bonjour
peut être

If IsDate(Cells(lig, "F")) And( Cells(lig, "D") = 7 or Cells(lig, "D") = 1 or Cells(lig, "B") = 1) Then
 

snoopy07

XLDnaute Junior
Bonjour JM27 et le forum

merci pour ta réponse
je viens d essayer ton code est cela marche parfaitement

cordialement
Snoopy07
 

Discussions similaires


Haut Bas