Access2007: 2 couleur de fond pour ETAT

Résolu
GGuyle Messages postés 96 Statut Membre -  
GGuyle Messages postés 96 Statut Membre -
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

  1. GGuyle Messages postés 96 Statut Membre 3
     
    up
    0
  2. GGuyle Messages postés 96 Statut Membre 3
     
    upupup
    0
  3. blux Messages postés 2049 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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
    1. GGuyle Messages postés 96 Statut Membre 3
       
      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
  4. GGuyle Messages postés 96 Statut Membre 3
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. GGuyle Messages postés 96 Statut Membre 3
     
    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