Bonjour,

Dans une feuille, j'ai mis en place ce code qui, si la cellule est vide, un UserForm apparaît, si la cellule correspond à un jour fériés, définit dans une autre feuille ("Don"), alors la cellule est inactive, si la cellule correspond un jour de week-end, la cellule est inactive.

Mes jours sont sur la ligne 4 de la feuille.

La ligne de code où j'ai mis des *** ne fonctionne pas.

Pouvez-vous m'apporter votre éclairage s'il vous plait ?

Merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim COL As Long
Dim LIG As Long
Dim A As Long
'on regarde si les cellules de la zone B6:BY50 sont vides
    If Intersect(Range("B6:BY50"), ActiveCell) Is Nothing Then Exit Sub
        If IsEmpty(ActiveCell.Value) Then
    LIG = 4
    COL = ActiveCell.Column
    A = Cells(LIG, COL).Value
'on regarde si la date de la colonne ne correspond ni à un jour férié ni à un week-end
        If A = 0 Then COL = COL - 1
            *** If Weekday(Cells(LIG, COL).Value, 2) < 6 Then
        If IsNumeric(Application.Match(Cells(LIG, COL), Sheets("Don").Range("fériés"), 0)) Then Exit Sub
    End If
'si tout est ok, alors ouverture de l'UserForm
    Load FrmAbs
    FrmAbs.Show
End If
End Sub