Access2007: 2 couleur de fond pour ETAT

Résolu/Fermé
GGuyle Messages postés 72 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 22 juillet 2011 - Modifié par GGuyle le 9/08/2010 à 13:30
GGuyle Messages postés 72 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 22 juillet 2011 - 18 août 2010 à 10:36
Bonjour,
je souhaiterai avoir deux couleur dans un État par exemple gris et bleu.
Mais voilà je ne veux pas avoir une ligne sur deux avec une couleur différente.
En faite je voudrai que la couleur change des que le noms client change.


6 réponses

GGuyle Messages postés 72 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 22 juillet 2011 3
12 août 2010 à 13:38
up
0
GGuyle Messages postés 72 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 22 juillet 2011 3
12 août 2010 à 16:22
upupup
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
12 août 2010 à 22:04
Salut,

dans la section qui t'intéresse, tu peux regarder ce qu'il est possible de faire dans l'évènement 'au formatage', afin de voir si on peut mettre du code pour changer de couleur en VBA.
0
GGuyle Messages postés 72 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 22 juillet 2011 3
16 août 2010 à 09:40
Ha merci de ton aide.
En effet dans l'évenement (n'importe lequel) il est possible de mettre du code il suffit jus-te de choir procédure événementiel.
Mais perso je connais pas le VB. Je ne vois pas comment lui dire quand un noms de client est différent on change "Me.Détail.BackColor"
0
GGuyle Messages postés 72 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 22 juillet 2011 3
16 août 2010 à 12:17
Voilà ce que j'ai fais pour les couleur ça marche très bien.
Dim N As Integer
Dim cpt As Integer

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Dim col1 As Long: col1 = RGB(190, 190, 190)
Dim col2 As Long: col2 = RGB(220, 220, 220)

' Si différent = nouvelle rupture
If Me.NIntervention <> N Then
cpt = cpt + 1
N = Me.NIntervention
End If

' En fonction du numéro de rupture
If (cpt Mod 2) = 0 Then
Me.Détail.BackColor = col1
Me.Détail.AlternateBackColor = col1
Else
Me.Détail.BackColor = col2
Me.Détail.AlternateBackColor = col2
End If

End Sub

Private Sub Report_Load()
N = 0
cpt = 0
End Sub
0

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

Posez votre question
GGuyle Messages postés 72 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 22 juillet 2011 3
17 août 2010 à 13:07
Autre solution que trouver Pour éviter certain doublon:

Dim N As Integer
Dim cpt As Integer

Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
Dim col1 As Long: col1 = RGB(190, 190, 190)
Dim col2 As Long: col2 = RGB(220, 220, 220)


' Si différent = nouvelle rupture
If Me.NIntervention <> N Then
cpt = cpt + 1
N = Me.NIntervention

Me.Début.Visible = True
Me.Fin.Visible = True
Me.TpsPaC.Visible = True
Me.Transport.Visible = True
Me.Intervenant.Visible = True
Me.Noms.Visible = True
Else
Me.Début.Visible = False
Me.Fin.Visible = False
Me.TpsPaC.Visible = False
Me.Transport.Visible = False
Me.Intervenant.Visible = False
Me.Noms.Visible = False
End If




' En fonction du numéro de rupture
If (cpt Mod 2) = 0 Then
Me.Détail.BackColor = col1
Me.Détail.AlternateBackColor = col1
Else
Me.Détail.BackColor = col2
Me.Détail.AlternateBackColor = col2
End If

End Sub

Private Sub Report_Load()
N = 0
cpt = 0
End Sub
0
GGuyle Messages postés 72 Date d'inscription vendredi 4 décembre 2009 Statut Membre Dernière intervention 22 juillet 2011 3
18 août 2010 à 10:36
0