IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Code qui colorie x fois la case i au lieu de colorier de la case i à j pour chaque x


Sujet :

VBA Access

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de keketteboy
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2008
    Messages : 100
    Par défaut Code qui colorie x fois la case i au lieu de colorier de la case i à j pour chaque x
    Bonjour,

    Mon intitulé est clair sans trop l'être alors je vais détailler un peu plus. J'ai codé une série de rectangles (365). Ces rectangles doivent se colorier en fonction de si ils appartiennent à la période x (avec x entier allant de 1 à 12 par exemple).
    Cette période x est définie par une "Date_début" et "une Date_fin". J'ai donc codé une fonction qui me parcourt une colonne dans un formulaire "Num_chrono_plan" (qui correspond à mon numéro de période x) et pour chaque valeur de x, correspond une couleur différente donc chaque période possède sa couleur.
    Pour chaque valeur x, je veux que la fonction aille me chercher la Date_début et la Date_fin et qu'elle me colorie toutes les rectangles entre.

    Le problème c'est que ma fonction, au lieu de colorier, pour Num_plan_chrono = x, les cases de i à j, elle me colorie la case x, (j-i) fois. En plus, elle ne me prend que la Date_début et Date_fin pour Num_chrono_plan = 1 et l'applique partout au lieu d'aller me chercher les valeurs pour Num_chrono_plan = 2, etc.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Dim i As Integer
    Dim Date_début As Date
    Dim Date_fin As Date
    Dim d As Integer
    Dim Date_début_NbJours As Double
    Dim Date_fin_NbJours As Double
    Dim Debut_Annee As Date
    Dim Num_chrono_plan As Integer
    Dim MonParametre As String
     
    'Implémentation de la date du début d'année
    Debut_Annee = "01/01/" & [Forms]![MonFormulaire]![CbAnnee]
     
    MonParametre = [Forms]![MonFormulaire]![MonParametre]
    Num_chrono_plan = [Forms]![MonFormulaire]![Num_chrono_plan]
     
    'Colorie les périodes pour MonParametre en fonction du Num_chrono_plan
     
    For Num_chrono_plan = 1 To 1
    Date_début_NbJours = DateDiff("d", Debut_Annee, [Forms]![MonFormulaire]![Date_début]) + 1
    Date_fin_NbJours = DateDiff("d", Debut_Annee, [Forms]![MonFormulaire]![Date_fin]) + 1
     
        If MonParametre <> "" Then
            For i = Date_début_NbJours To Date_fin_NbJours
            [Forms]![MonFormulaire]("" & Num_chrono_plan & "").BackColor = vbBlue
            [Forms]![MonFormulaire]("" & Num_chrono_plan & "").BackStyle = 1
            Next i
        End If
     
    Next Num_chrono_plan
     
    For Num_chrono_plan = 2 To 2
    ... etc ...
    Voyez le résultat sur l'image jointe, or moi je voudrais qu'il me colorie en bleu les 61 premières cases si on suit l'exemple sur l'image, puis en blanc les 61 suivantes, etc ...

    Quand je fais le pas-à-pas, le code me réitère 61 fois le coloriage de la case 1 donc il ne parcourt pas mon tableau, et je ne sais vraiment pas pourquoi.

    Merci d'avance.

    PS : Si je passe par une requête SQL pour aller chercher mon Num_chrono_plan et aussi une pour mes 2 dates début et fin, ça sera pareil? Je ne sais pas si ça marchera comme je le veux puisque logiquement, ça fait la même chose que d'aller le chercher directement dans mon formulaire non?
    Images attachées Images attachées  

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code qui permet à l'utilisateur de cliquer sur un bouton une seule fois
    Par FLORE2222 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 6
    Dernier message: 18/03/2012, 10h31
  2. code qui s'exécute une seule fois
    Par sam01 dans le forum Langage
    Réponses: 7
    Dernier message: 04/06/2010, 17h12
  3. Code qui ne fonctionne qu'une fois sur 2!
    Par Optimiss dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/03/2010, 10h41
  4. code qui s excute une fois
    Par sisna dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 20/08/2008, 11h35
  5. code qui s'execute plusieurs fois
    Par khelif dans le forum JBuilder
    Réponses: 1
    Dernier message: 10/03/2005, 21h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo