Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim S As Worksheet
Dim OL As OLEObject
Dim R As Range
Dim PLAGE As Range
Dim Mois
Dim var
Dim var2
Dim i&
Dim j&
Dim bool As Boolean
Mois = Array(, "2010", "JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE")
For i& = 1 To UBound(Mois)
If Sh.Name = Mois(i&) Then
bool = True
Exit For
End If
Next i&
If bool Then
For Each OL In Sh.OLEObjects
If OL.progID = "Forms.ComboBox.1" Then
OL.Cut
Set OL = Nothing
End If
Next OL
If Sh.[a4] = "" Then Exit Sub
Application.EnableEvents = False
Set S = Sheets("VALEURS")
var = S.Range("a2:c" & S.[a3].End(xlDown).Row & "")
Set PLAGE = Sh.Range("a4:i" & Sh.[a3].End(xlDown).Row & "")
var2 = PLAGE
For i& = 1 To UBound(var2, 1)
Set R = Sh.Range(Sh.Cells(i& + 3, 1), Sh.Cells(i& + 3, 9))
With R.Font
.Color = 0
.Italic = False
End With
If var2(i&, 9) <> "" Then
For j& = 1 To UBound(var, 1)
If var2(i&, 9) = var(j&, 1) Then
With R.Font
.Color = var(j&, 3)
If var2(i&, 9) = "Refusé" Then
.Italic = True
End If
End With
Exit For
End If
Next j&
End If
Next i&
Application.EnableEvents = True
'-----------
If Target.Column = 9 Then
If Not Application.Intersect(Target, PLAGE) Is Nothing Then
Call CreeComboBox
End If
End If
End If
End Sub