Forum des développeurs  

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é.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access

VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.

Réponse
 
Outils de la discussion
Vieux 16/07/2008, 12h00   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: mai 2008
Messages: 59
Par défaut Utilisation de ForeColor

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
Mais... j'ai pas tout compris Notament la ligne: If curAmntDue > 100 then ...

Je vois pas trop à quoi correspond le ">100"
Si quelqu'un pouvais éclairer ma petite lanterne ce serait bien gentil

Merci
enkie est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 12h58   #2 (permalink)
Membre émérite
 
Avatar de =JBO=
 
Date d'inscription: février 2005
Localisation: France - Drôme
Messages: 951
Par défaut

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)
=JBO= est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 14h01   #3 (permalink)
Membre Expert
 
Date d'inscription: mars 2006
Localisation: Fétera son 16éme anniversaire en 2012
Messages: 1 175
Par défaut

Bonjour,
Citation:
Envoyé par enkie Voir le message
Bonjour (encore Toi )
Code :
Sub Form_Current()    
Dim curAmntDue As Currency, 
If Not IsNull(Me!txtPastDue.Value) Then        
      curAmntDue = Me!txtPastDue.Value    
.......   
If curAmntDue > 100 Then
Mais... j'ai pas tout compris.Je vois pas trop à quoi correspond le ">100"
Si quelqu'un pouvais éclairer ma petite lanterne ce serait bien gentil
Où c'est qu'elle est cette lanterne? Là? Non? Là! D'accord :

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
francishop est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 16/07/2008, 14h46   #4 (permalink)
Nouveau membre du Club
 
Date d'inscription: mai 2008
Messages: 59
Par défaut

Ma lanterne est au dessus de ma tête (ou au bout de mon bras)

Merci, j'y vois déjà un peu plus clair.
enkie est déconnecté   Envoyer un message privé Réponse avec citation
NEWS ACCESSF.A.Q AccessF.A.Q VBATutorielsSourcesOutilsLivresAccess TVAccess 2007

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Access > VBA Access



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide