XL 2016 BLOQUER UNE LIGNE EN FONCTION DUN TABLEAU

  • Initiateur de la discussion Initiateur de la discussion GADENSEB
  • 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 !

GADENSEB

XLDnaute Impliqué
Bonjour le Forum
Je voudrais en fonction de l'onglet "CHECK" faire bloquer en écriture la ligne concernée.
Pour exemple dans l'onglet CHECK
E3 = OUI
donc en référence dans l'onglet "COMPTES" la ligne concernée par JANVIER / 2015 / LB est sélectionée donc cette ligne doit être bloquée en écriture
par contre si je rebascule E3 = NON alors j'enléve le blocage en écriture
et ainsi de suite pour tout le reste
Comment procéder ?
Bonne soirée
SEB
 

Pièces jointes

Bonsoir

tu peux essayer cette macro événementielle dans le code de la feuille "COMPTES"
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
Mois = Range("D" & Target.Row)
Annee = Range("C" & Target.Row)
NumCompte = Range("F" & Target.Row)

With Sheets("Check")
    fin = .Range("B" & .Rows.Count).End(xlUp).Row
    Set colonne = .Range("C1:E1").Find(NumCompte)
    If Not colonne Is Nothing Then
        Set debannée = .Range("B1:B" & fin).Find(Annee)
        If Not debannée Is Nothing Then
            Set moisbloqué = debannée.Resize(13, 1).Find(Mois)
            If Not moisbloqué Is Nothing Then
                ModifAutorisée = .Cells(moisbloqué.Row, colonne.Column)
            End If
        End If
    End If
End With
If ModifAutorisée = "OUI" Then
    MsgBox "Modif non autorisée"
    Range("A1").Select
End If
Application.EnableEvents = True
End Sub
 
Bonsoir,
Cela me semble parfait !
Je voudrais rajouter de colorier les lignes bloquées en jaune par exemple puis retour au blanc si non bloquée
Je suppose que tout ce joue là ?????
VB:
        If Not debannée Is Nothing Then
            Set moisbloqué = debannée.Resize(13, 1).Find(Mois)
            If Not moisbloqué Is Nothing Then
                ModifAutorisée = .Cells(moisbloqué.Row, colonne.Column)
            End If
Bonne soirée
 
Dernière édition:
- 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

Retour