Bonjour à tous,
C'est mon premier post
Dans un formulaire, je voudrais mettre un champ en rouge si la date tapée est inférieure à 1 an par rapport à la date du jour.
Merci pour votre aide.
kreos69
Bonjour à tous,
C'est mon premier post
Dans un formulaire, je voudrais mettre un champ en rouge si la date tapée est inférieure à 1 an par rapport à la date du jour.
Merci pour votre aide.
kreos69
Bonjour.
Peux-tu preciser la version de Access que tu utilises ?
Sinon, pour repondre a ta question, utilise la mise en forme conditionnelle.
- Choisi "nouvelle regle"
- Dans les types choisi "Valeur du champ"
- Choisi l'opperateur "Inferieur a"
- Et met DateAdd(-1; "aaaa"; Date()) comme valeur.
Cela ajoute -1 an a la date courante. Oui ce n'est pas intuitif meme si mathematiquement x - 1 = x + (-1).
Apres tu choisi la mise en forme que tu veux. Perso, si je met un fond rouge, je met le texte en gras, je trouve que cela est plus lisible.
Ca devrait fonctionner.
Si cela ne marche pas utilise l'option formule.
Ta formule devrait etre quelque chose comme :
Ou NomTonChampDate est le nom du champ qui contient ta date.
Code : Sélectionner tout - Visualiser dans une fenêtre à part [NomTonChampDate] <= DateAdd(-1; "aaaa"; Date())
L'autre interet de l'option formule c'est que tu peux tester un autre champ que celui que tu veux mettre en forme.
A+
Merci beaucoup pour la réponse rapide.
La version est Microsoft Office Professionnel Plus 2016.
Le programme est présent sur l'ordi de mon club donc je ne pourrai y accéder qu'en fin d'après midi car je n'irai pas avant.
Je te dirai les résultats dès que possible.
Bonne journée.
kreos69
Finalement je suis passé récupérer le matos et j'ai pu faire les essais
J'ai tapé Valeur<= DateAdd(-1;"aaaa";Date())
Ca passe, cela ne me met pas d'erreur mais la syntaxe DateAdd se modifie automatiquement en AjDate. Donc cela fait au final Valeur<=AjDate(-1;"aaaa";Date())
Comme format j'ai mis une police rouge et du gras.
Après cela j'ai essayé d'entrer des dates de 2015 ou plus mais rien ne se passe, ça ne change pas de format.
Une idée ??
kreos69
Salut,
Il me semble que c'est plus tôt
Code : Sélectionner tout - Visualiser dans une fenêtre à part AjDate("aaaa";-1;Date())
Merci Hyperion.
J'ai modifié la syntaxe comme tu le dis et cela fonctionne.
Bravo
Desole de mes 2 erreurs, syntaxe et nom en Anglais.
Si tu consideres la question close, merci d'appuyer sur le bouton en bas de discussion.
A+
Ok
Et si pour le fun, tu veux le faire en vba
Comme indiqué par marot_r cliquer sur
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
23
24
25
26 Private Sub Form_Current() Dim objFrc As FormatCondition Dim Red As Long, White As Long, Black As Long, Yellow As Long Dim DarkGreen As Long, Silver As Long, Gainsboro As Long Dim VariableColor1 As Long Red = RGB(255, 0, 0) White = RGB(255, 255, 255) Black = RGB(0, 0, 0) Yellow = RGB(255, 255, 0) DarkGreen = RGB(0, 128, 0) Gainsboro = RGB(220, 220, 220) ' un gris clair Silver = RGB(192, 192, 192) ' argent VariableColor1 = RGB(255, 51, 153) ' un violet Me![datedeb].FormatConditions.Delete Set objFrc = Me![datedeb].FormatConditions.Add(acExpression, , "[datedeb]<DateAdd('yyyy', -1, Date())") With Me![datedeb].FormatConditions(0) .FontBold = True .ForeColor = VariableColor1 .Enabled = True .BackColor = Yellow End With End Sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager