Macro changement de couleur de texte
dx0069
Messages postés
12
Statut
Membre
-
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.
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.
12 réponses
-
Salut,
Tu ne voudrait pas plutot le faire en VBA ?
Ce serait plus simple. -
Si c'est plus facile, je suis preneur car je n'y connait rien.
Merci. -
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 -
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Si je peux abuser,
Que dois-je faire si je veux retrouver la couleur d'origine en recliquant ?
Merci -
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+ -
-
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 -
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 -
Cela me met que l'opération ne peut etre achevée.
Apparement, il bloque sur cette ligne :
DoCmd.Save acForm, "F_Y" -
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 ? -
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