![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE. |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: mai 2008
Messages: 59
|
Bonjour (encore moi
J'ai une table avec des produits et je dois créer un code qui permet d'avoir une couleur différente pour tout les champs en fonction de l'état du produit. Par exemple: - produits vendu: tout les champs en gris - produits disponibles: tout les champs en noir - retour SAV: tout les champs en rouge Je ne sais pas trop comment utilisé cette propriété alors j'ai regarder dans l'aide de Microsoft l'exemple qu'ils donnaient (ci-dessous). Code :
Sub Form_Current()
Dim curAmntDue As Currency, lngBlack As Long
Dim lngRed As Long, lngYellow As Long, lngWhite As Long
If Not IsNull(Me!txtPastDue.Value) Then
curAmntDue = Me!txtPastDue.Value
Else
Exit Sub
End If
lngRed = RGB(255, 0, 0)
lngBlack = RGB(0, 0, 0)
lngYellow = RGB(255, 255, 0)
lngWhite = RGB(255, 255, 255)
If curAmntDue > 100 Then
Me!txtPastDue.BorderColor = lngRed
Me!txtPastDue.ForeColor = lngRed
Me!txtPastDue.BackColor = lngYellow
Else
Me!txtPastDue.BorderColor = lngBlack
Me!txtPastDue.ForeColor = lngBlack
Me!txtPastDue.BackColor = lngWhite
End If
End Sub
Je vois pas trop à quoi correspond le ">100" Si quelqu'un pouvais éclairer ma petite lanterne ce serait bien gentil Merci |
|
|
|
|
|
#2 (permalink) |
|
Membre émérite
![]() Date d'inscription: février 2005
Localisation: France - Drôme
Messages: 951
|
Bonjour,
Il semblerait que la fonctionnalité de "Mise en Forme Conditionnelle" réponde mieux à ton besoin. Cette fonctionnalité à été énormément débattue sur le forum, dans la FAQ et même dans les tutoriels de la rubrique access.developpez.com. Un tutoriel à lire: http://warin.developpez.com/access/mfc/ _
__________________
Les bons réflexes VB/VBA: __ Option Explicit ___ Toujours compiler le code avant de tester ! (dans l'EDI, menu Débogage, commande Compiler) |
|
|
|
|
|
#3 (permalink) | |
|
Membre Expert
![]() Date d'inscription: mars 2006
Localisation: Fétera son 16éme anniversaire en 2012
Messages: 1 175
|
Bonjour,
Citation:
Sur le formulaire actuel se trouve -->txtPastDue et pour s'y référer, comme on est possessif on précise à la cantonnade-->Me! Ce qui donne :Me!txtPastDue De plus, on se réfère à son contenu, ce qui donne :Me!txtPastDue.Value Mais, même à ce dernier on ne s'adresse directement. Il a été indiqué au préalable pour variable-->Dim curAmntDue As Currency Dim : Définit le nom de la variable(curAmntDue) et le type de données géré par cette variable(Ici-->Devise) Puis c'est cette variable qui va se substituer à txtPastDue en indiquant : curAmntDue = Me!txtPastDue.Value ">100" veut dire--> Strictement supérieur à 100 Cordialement.
__________________
Questions techniques par MP ![]() Le peu que je sais, c'est à mon ignorance que je le dois. ...............................................................................Sacha Guitry |
|
|
|
|
|
![]() |
![]() |
||
Utilisation de ForeColor
|
||
| Outils de la discussion | |
|
|