Bloquer la saisi de valeur dans une cellule de couleur

Bonjour,

J'ai un problème que je n'arrive pas à résoudre :

image

J'ai un tableau ci-dessus ou je note le type de congés sur les cases.

J'aimerais pour utiliser la poignée de recopie pour poser deux semaines de congés par exemple, mais sans que le congés ex: "ca" s'écrive dans les cellules grisés.

De base :

image

Ce que je ne veux pas :

image

Ce que je veux:

image

Pouvoir utilisé la poignée de recopie mais ignorer les cellules de couleur.

Voilà, je vous remercie si quelqu'un peut m'aider.

12classeur1.xlsx (16.18 Ko)

Bonjour

Un essai à tester. Te convient-il ?

14classeur1-v1.xlsm (28.29 Ko)

Bye !

Bonjour, je vous remercie c'est juste parfait ! :)

Je vais essayer d'analyser le code vba pour voir comment vous avait fait.

Je ne comprends pas cette partie du code :

If Not Intersect(Target, plage) Is Nothing Then
        Application.EnableEvents = False
        If Target.Count > 1 Then
            Set plage = Selection
            Application.Undo

Merci beaucoup !

Private Sub Worksheet_Change(ByVal Target As Range)

    colF = Rows("1:1").Find("CMO").Column
    lnF = Range("G" & Rows.Count).End(xlUp).Row
    Set plage = Range(Cells(3, 13), Cells(lnF, colF))
    v = ActiveCell.Value
    If Not Intersect(Target, plage) Is Nothing Then 'Les instructions qui suivent ne s'éxécuteront que
                                                    'si les cellules sélectionnées sont dans le tableau
                                                    'des jours du mois
        Application.EnableEvents = False        'On désactive le déclenchement automatique de macro
                                                'événementielle
        If Target.Count > 1 Then            'On ne poussuit l'exécution de la macro que si on a sélectionné
                                            'plusieurs cellules
            Set plage = Selection       'on nomme la plage de cellules sélectionnée
            Application.Undo            'on revient en arrire pour remettre la feuille dans l'état où
                                        'elle était avant la sélection

            For Each cell In plage      'on traite les cellules qui ont été sélectionnées
                If cell.Interior.Color = 16777215 Then
                    cell.Value = v
                End If
            Next cell
        End If
    End If
    Application.EnableEvents = True
End Sub

Bye !

Rechercher des sujets similaires à "bloquer saisi valeur couleur"