Pour information le code que j'ai fourni fonctionne également avec un sous-formulaire, il suffit d'ajouter le nom du contrôle sous-formulaire :
La date paramètre doit OBLIGATOIREMENT être dans la requête source.
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
22 Private Sub Form_Load() Dim objFrc As FormatCondition ' Suppression des anciennes mises en forme. Me!Sfrm.Form![nom].FormatConditions.Delete Me!Sfrm.Form![prenom].FormatConditions.Delete Me!Sfrm.Form![dteVte].FormatConditions.Delete Me!Sfrm.Form![Nbre2].FormatConditions.Delete ' Création de la condition de la mise en forme Set objFrc = Me!Sfrm.Form![nom].FormatConditions.Add(acExpression, , "[dteVte] < [dateparam]") Set objFrc = Me!Sfrm.Form![prenom].FormatConditions.Add(acExpression, , "[dteVte] < [dateparam]") Set objFrc = Me!Sfrm.Form![dteVte].FormatConditions.Add(acExpression, , "[dteVte] < [dateparam]") Set objFrc = Me!Sfrm.Form![Nbre2].FormatConditions.Add(acExpression, , "[dteVte] < [dateparam]") ' création de la mise en forme: rendre inacessible les contrôles Me!Sfrm.Form![nom].FormatConditions(0).Enabled = False Me!Sfrm.Form![prenom].FormatConditions(0).Enabled = False Me!Sfrm.Form![dteVte].FormatConditions(0).Enabled = False Me!Sfrm.Form![Nbre2].FormatConditions(0).Enabled = False End Sub
Partager