Bonsoir forum
je vous expose mon problème
en partant de mon userform, je lance une macro qui suivant la date inscrite dans un combobox30,
rempli un tableau sur la feuille Occupation sur deux mois en fonction des dates d'entrée et de sortie de la base de données
mon souci est que cette macro s'exécute sur une période de 35 secondes environ
si quelqu'un a une idée sur une autre façon d'écrire cette macro,je suis preneur
merci beaucoup
With Sheets("Occupation")
.Activate
.Range("B4:BK73").Interior.ColorIndex = xlNone
.Range("A1") = CDate(UserForm1.ComboBox30)
For i = 4 To 73
For j = 2 To 63
For Each Cell In Sheets("Bdd").Range("T2:T" & Sheets("Bdd").Range("A65536").End(xlUp).Row)
If (Sheets("Occupation").Cells(i, 1).Value = Cell.Value And VBA.CDate(Sheets("Occupation").Cells(3, j)) <= VBA.CDate(Cell.Offset(0, -5)) And (Sheets("Occupation").Cells(i, 1).Value = Cell.Value And VBA.CDate(Sheets("Occupation").Cells(3, j)) >= VBA.CDate(Cell.Offset(0, -6)))) Then
Select Case Cell.Offset(0, -4)
Case "Entretien"
.Cells(i, j).Interior.ColorIndex = 1
Case Else
.Cells(i, j).Interior.ColorIndex = 15
End Select
End If
Next Cell
Next j
Next i
End With