Renvoyer dans une cellule lorsqu'une ligne change de couleur

Résolu
Gopalkri1 -  
 Gopalkri1 -
Bonjour,
J'essaye de modifier la macro suivante A: cette macro fonctionne avec un onglet protégé ce qui implique que je ne peux pas partager mon fichier... j'aimerai modifier cette macro pour que lorsque deux cellule d'une ligne est remplie "ici BN et BM, la ligne change de couleur et implique que le fait de cliquer dans une cellule de cette ligne "définit" ici de A à CW-->"If Not Intersect(Target, Range("A:CW"))" me renvois à "A1" ici--> Is Nothing Then Range("A1").Select
cela me permettrai de partager ma feuille et d'empêcher l'écriture dans une ligne de cellule définit même lorsque ma feuille n'est pas protégée!

D'avance merci d'essayer de m'aider

A:
Private Sub Worksheet_Change(ByVal Target As Range)
    'deverrouiller et modifier les cellules
    If Not Application.Intersect(Target, Range("BM4:BM6000,BN4:BN6000")) Is Nothing Then
        lig = Target.Row
        If Range("BM" & lig) <> "" And Range("BN" & lig) <> "" Then
            'repondre au message
            retval = MsgBox("Archiver la ligne", vbYesNo, "VALIDATION SAISIE")
            ' si oui verrouiller cellules
            If retval = vbYes Then
            Range("A" & lig & ":CW" & lig).Interior.ColorIndex = 15
            If Not Intersect(Target, Range("A:CW")) Is Nothing Then Range("A1").Select
            End If
        End If
    End If
End Sub


1 réponse

  1. Frenchie83 Messages postés 2254 Statut Membre 339
     
    bonjour
    Si j'ai bien compris
    Private Sub Worksheet_Change(ByVal Target As Range)
        'deverrouiller et modifier les cellules
        If Not Application.Intersect(Target, Range("BM4:BM6000,BN4:BN6000")) Is Nothing Then
            lig = Target.Row
            If Range("BM" & lig) <> "" And Range("BN" & lig) <> "" Then
                'repondre au message
                retval = MsgBox("Archiver la ligne", vbYesNo, "VALIDATION SAISIE")
                ' si oui verrouiller cellules
                If retval = vbYes Then
                Range("A" & lig & ":CW" & lig).Interior.ColorIndex = 15
                If Not Intersect(Target, Range("A:CW")) Is Nothing Then Range("A1").Select
                End If
            End If
        End If
    End Sub
    
    Private Sub Worksheet_selectionChange(ByVal Target As Range)
        If Target.Interior.ColorIndex = 15 Then Range("A1").Select
    End Sub
    

    Cdlt
    0
    1. Gopalkri1
       
      Super Frenchie83
      Je te remercie beaucoup de ton aide
      Merci
      0