Macro changement de couleur de texte

dx0069 Messages postés 12 Statut Membre -  
dx0069 Messages postés 12 Statut Membre -
Bonjour,

Je cherche à creer une macro sur access 2007 qui me permettrait de changer la couleur du texte d'une etiquette dans un formulaire X à l'aide d'un bouton se trouvant dans un formulaire Y.

Pouvez-vou m'aider ?

Je vous remerci d'avance.
A voir également:

12 réponses

ralag Messages postés 15 Statut Membre 2
 
Salut,
Tu ne voudrait pas plutot le faire en VBA ?
Ce serait plus simple.
0
dx0069 Messages postés 12 Statut Membre
 
Si c'est plus facile, je suis preneur car je n'y connait rien.

Merci.
0
ralag Messages postés 15 Statut Membre 2
 
Dans le form F_Y j'ai un label dont le nom est FE_Etiquette1
Dans le form F_X j'ai mis un bouton de commande et j'ai quitter l'assistant immédiatement car je ne peux choisir ce qui est proposé.
Ensuite, je fais un clic droit sur le bouton et je choisit Créer code évenement et code.
en dessous Private Sub Commande1_Click() si le bouton se nomme commande1 je tape :
Forms!F_Y!FE_Etiquette1.ForeColor = vbRed
ou à la place de vbred RGB(0, 255, 0) pour Green etc...
Les 2 forms doivent être ouvert et le vba ne doit pas être bloqué dans cette base.
Quand tu la réouvre tu doit cliquer sur activer ce contenu. (je crois)
Dis moi si c'est good
0
dx0069 Messages postés 12 Statut Membre
 
C'est bon, Nickel.

Je te remercie beaucoup.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dx0069 Messages postés 12 Statut Membre
 
Si je peux abuser,

Que dois-je faire si je veux retrouver la couleur d'origine en recliquant ?

Merci
0
ralag Messages postés 15 Statut Membre 2
 
Tu peux stocker la couleur d'origine dans la propiété Tag (remarque)
le code serait :

Private Sub Commande1_Click()

If Forms!F_Y!FE_Etiquette1.ForeColor <> RGB(0, 255, 0) Then
Forms!F_Y!FE_Etiquette1.Tag = Forms!F_Y!FE_Etiquette1.ForeColor
Forms!F_Y!FE_Etiquette1.ForeColor = RGB(0, 255, 0)
Else
Forms!F_Y!FE_Etiquette1.ForeColor = Forms!F_Y!FE_Etiquette1.Tag
End If

End Sub

Ce n'est pas terrible mais devrait être ok

Si c'est bon tu pourra clore la fiche, sinon je suis là
A+
0
dx0069 Messages postés 12 Statut Membre
 
Un tres grand Merci
0
dx0069 Messages postés 12 Statut Membre
 
C'est encore moi pour vous ennuyer.

N'y a t-il pas un moyen pour garder la derière couleur en mémoire car quand on ferme le formulaire puis qu'o le réouvre, la couleur de la police est revenu à son point de départ.

Cad, Si la dernière couleur est le vert, si je ferme et que je réouvre, les caractères seront revebus en noir.

Merci
0
ralag Messages postés 15 Statut Membre 2
 
Dans ce cas il faut créer une table dans laquelle on stocke la valeur de la couleur
il faut une fonction
-pour le save de la couleur
-pour le load

cela se complique

ou bien passer le form en mode design et le sauver :

Private Sub Commande1_Click()

DoCmd.OpenForm "F_Y", acDesign

If Forms!F_Y!FE_Etiquette1.ForeColor <> RGB(0, 255, 0) Then
Forms!F_Y!FE_Etiquette1.Tag = Forms!F_Y!FE_Etiquette1.ForeColor
Forms!F_Y!FE_Etiquette1.ForeColor = RGB(0, 255, 0)
Else
Forms!F_Y!FE_Etiquette1.ForeColor = Forms!F_Y!FE_Etiquette1.Tag
End If

DoCmd.Save acForm, "F_Y"
DoCmd.OpenForm "F_Y", acNormal

End Sub
0
dx0069 Messages postés 12 Statut Membre
 
Cela me met que l'opération ne peut etre achevée.

Apparement, il bloque sur cette ligne :

DoCmd.Save acForm, "F_Y"
0
ralag Messages postés 15 Statut Membre 2
 
J'ai fait mes testes sur un 2003, mais cela devrait coller
sauf si les data de ton form on été modifiées, dans ce cas il faudrait les save avant, quel est le message ?
0
dx0069 Messages postés 12 Statut Membre
 
erreur d'exécution '29068':

Silox ne peut achever l'opération. Vous devez interrompre l'exécution du code et recommencer

Silox est le nom de ma base
0