[VBA Access]Changer taille et caractère dans un état

Changer taille et caractère dans un état [VBA Access] - VB/VBA/VBS - Programmation

Marsh Posté le 03-02-2011 à 09:16:20    

Bonjour tous le monde !
 
Me voilà encore avec un petit problème...
 
J'ai une zone de texte d'un état qui a pour source de contrôle :
 
=VraiFaux(valeur1 > valeur2;"message 1";"message 2" )
 
Et moi mon problème c'est que je voudrais mettre le "message 1" dans un certain style de police et taille de carctère et pour "message 2" dans un autre style et taille de caractère.
 
 
Il me faudrait un truc dans qui fonctionnerait comme ça:
 
nom: texte
source de contrôle: =VraiFaux(valeur1 > valeur2;"message 1" texte.fontname="arial" texte.fontsize=48;"message 2" texte.fontname="time new roman" texte.fontsize=30)
 
Mais à mon avis on ne peut pas faire ça dans une source de contrôle^^
 
Ah aussi l'état est créé à partir d'une requête.
SELECT valeur1, valeur2
from TABLE1


Message édité par alexbigfoug le 03-02-2011 à 09:27:53
Reply

Marsh Posté le 03-02-2011 à 09:16:20   

Reply

Marsh Posté le 03-02-2011 à 10:22:36    

J'avais réalisé ce genre de choses en VBA, pas dans une formule.
 
En effet, il existe des évènements liés à la génération des états (pas seulement des évènements liés aux formulaires), qui se déclenchent un peu avant la génération de l'état.  Et on peut donc modifier un peu certaines données avant qu'elles ne soient imprimées. Mais c'était il y a longtemps, et je ne peux donc pas dire précisément comment ça marchait, mais, en tous cas, c'était possible.

Reply

Marsh Posté le 03-02-2011 à 15:54:00    

ça me donne un peu d'espoir mais pas de solution^^
 
Je suis toujours à la recherche d'un coup de pouce!!!

Reply

Marsh Posté le 03-02-2011 à 17:26:08    

Hello
 
Il faut que tu mettes le code dans l'evenement "au formattage" de la zone où se trouve la zone de texte.
 
Si la zone de texte est dans la zone "Detail" ca ressemblerait a ca :

Code :
  1. Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
  2. If Texte = "message 1" Then
  3.     Texte.FontName = "Arial"
  4.     Texte.FontSize = 48
  5. Else
  6.     Texte.FontName = "Times New Roman"
  7.     Texte.FontSize = 30
  8. End If
  9. End Sub


 
Attention toutefois. Tu es obligé de mettre les deux conditions si vrai et si faux pour que la police change en fonction.
 
:jap:


Message édité par SuppotDeSaTante le 03-02-2011 à 17:28:26

---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed