Renvoyer dans une cellule lorsqu'une ligne change de couleur [Résolu/Fermé]

-
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



Afficher la suite 

1 réponse

Messages postés
1995
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
17 septembre 2019
224
0
Merci
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
Super Frenchie83
Je te remercie beaucoup de ton aide
Merci