Bonjour,
J'ai un form avec un sous form (lignes de détails) en mode feuille de données.
Sur mon détail, la première colonne est un menu déroulant permettant de sélectionner un article. Si l'article choisit a un code particulier dans un champ ACC_SPL, je veux que celui-ci soit mis en évidence (sorte de repère visuel)
Mon menu déroulant affiche par exemple :
cod_art, désignation, acc_spl, famille
"vélo", "vélo de course", "", "famille1"
"voiture", "voiture de course", "STK", "famille1"
Je voudrais, si on saisit l'article vélo, que la ligne ou que le champs COD_ART soit en rouge quand ACC_SPL = "".
J'ai essayé par une mise en forme conditionnelle : cela marche MAIS j'ai un critère de + à prendre en compte = la Famille
Cela ne doit le faire QUE sur la famille 1, la famille3, la famille4 la famille 12 (et ainsi de suite pour une trentaine de famille)
voici ce que j'ai mis dans ma mise en forme conditionnelle mais la taille est limitée et je ne peux pas mettre toutes mes familles dans les conditions :
(Nz(LISTE_ART.Column(11))="" Et Nz(LISTE_ART.Column(9))="01") Ou (Nz(LISTE_ART.Column(11))="" Et Nz(LISTE_ART.Column(9))="02") Ou (Nz(LISTE_ART.Column(11))="" Et Nz(LISTE_ART.Column(9))="04") Ou (Nz(LISTE_ART.Column(11))="" Et Nz(LISTE_ART.Column(9))="05") Ou (Nz(LISTE_ART.Column(11))="" Et Nz(LISTE_ART.Column(9))="06") Ou (Nz(LISTE_ART.Column(11))="" Et Nz(LISTE_ART.Column(9))="07")
Alors j'ai cherché du côté VBA avec ce code : (je n'ai pas encore testé la famille)
1 2 3 4 5 6 7 8 9 10
| ACC_SPL = Nz(LISTE_ART.Column(11))
FAMILLE = Nz(LISTE_ART.Column(12))
If ACC_SPL = "" Then
Forms![Bon de commande].Form![ACCESS_LIGNES_VTES_SF].Form!COD_ART.BackColor = 9176060
ElseIf ACC_SPL <> "" Then
Forms![Bon de commande].Form![ACCESS_LIGNES_VTES_SF].Form!COD_ART.BackColor = 12348669
End If |
Mais bien que le code ne plante pas, je ne vois rien.
Quelqu'un sait-il où je me trompe ? ou une autre méthode ?
Merci pour votre aide
Thibault
Partager