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

IHM Discussion :

Couleur de fond d'un control [AC-2007]


Sujet :

IHM

  1. #41
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tee_grandbois Voir le message
    et bien c'est comme cela qu'ils ont été nommés dans le code d'origine de Jeannot45 fourni ici:
    c'est peut être dommage de ne pas avoir gardé le préfixe d'origine (Text) généré par Access, cela aurait été certainement plus simple à modifier mais c'est ainsi...
    Re
    Merci pour la réponse. Je l'ai vu après coup et j'ai modifié le message en conséquence. Regarde le.
    Merci

  2. #42
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    'Boucle sur les mois (normalement tu devrais aller jusqu'à 11 puisque l'index commence à 0)
    For l_intCompteurLigne = 0 To 11 et
    ' Boucle sur les Jours du mois (Tu devrais donc aller jusqu'à 30 puisque l'index commence à 0)
    For l_intCompteurControl = 0 To 31
    Est-il possible de modifier ces boucles.........
    pour la boucle des mois j'avais déjà donné la solution ici
    Je précise le fonctionnement plus en détail : on utilise .MoveLast pour récupérer le nombre d'enregistrements, puis un .Movefirst pour se repositionner au début afin de commencer la lecture et ensuite on limite la boucle avec .Recordcount -1 qui est le nombre total d'enregistrements à lire -1 puisque l'index démarre de 0. Avec novembre ce sera 11 - 1 donc exécution d'une boucle de 0 à 10.

    A noter que l'instruction With l_rsJournal est pratique car cela évite de répéter l_rsJournal, qui est le nom du RecordSet à chaque instruction ( comme dans l_rsJournal.RecordCount par exemple).

    Pour la seconde boucle, cela fonctionne déjà avec février qui n'a que 28 ou 29 jours et tous les autres mois ayant 30 jours.
    Est-il possible de pouvoir gérer indépendamment les 0 des contrôles vides. Les cases vides correspondent à mes absences du domicile et les 0 sont effectifs.
    Oui, il suffit de les ajouter avant le Case Else
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Case 0
        Me.Controls(l_strRadicalLigne & l_strRadicalColonne).BackColor = choix_de_la_couleur_de_fond
        Me.Controls(l_strRadicalLigne & l_strRadicalColonne).ForeColor = choix_de_la_couleur_de_texte
    Case Null
        ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #43
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Bonjour Tee_grandbois
    Pour les mois pris en compte c'est Ok , pour les 0 c'est Ok, mais pour Case Null ce n'est pas pris en compte
    Voici ce que j'ai fait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Dim l_lngVide As Long, l_lngZero As Long
     
     l_lngZero = RGB(255, 255, 153)
     l_lngVide = RGB(0, 183, 239)
     
    Case Null
                                    Me.Controls(l_strRadicalLigne & l_strRadicalColonne).BackColor = l_lngVide
                                    Me.Controls(l_strRadicalLigne & l_strRadicalColonne).ForeColor = l_lngVide
    Pourquoi pour les chiffres supérieur à 0 c'est Case Is = 1 est pour le 0 c'est Case 0 ?
    Cordialement

  4. #44
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    Pourquoi pour les chiffres supérieur à 0 c'est Case Is = 1 est pour le 0 c'est Case 0 ?
    c'est un raccourci : avec Case Is il faut préciser le(s) signe(s) de comparaison (= , >=, < , < =, <>) si on ne met pas Is, c'est = par défaut.
    Pour les valeurs nulles, c'est vrai que j'aurai dû pensé que la comparaison ne fonctionne pas comme ça, c'est le souci avec nul.

    Je propose 2 solutions:
    - soit on inhibe les valeurs nulles par du texte vide ('"" ou vbNullString) à l'instruction suivante (juste avant le commentaire ' Affectation de la couleur de fond et de la couleur d'écriture):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Select Case .Fields(l_intCompteurControl) & ""
    'ou alors :
        Select Case .Fields(l_intCompteurControl) & vbNullString
    et on remplace la comparaison Case Null par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Case Is = ""
    'ou alors:
        Case Is = vbNullString
    - soit on traite les valeurs nulles dans le Case Else :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Case Else
            If IsNull(.Fields(l_intCompteurControl)) Then
                Me.Controls(l_strRadicalLigne & l_strRadicalColonne).BackColor = l_lngVide
            Else
                Me.Controls(l_strRadicalLigne & l_strRadicalColonne).BackColor = l_lngBlanc
                Me.Controls(l_strRadicalLigne & l_strRadicalColonne).ForeColor = l_lngNoir
            End If
    End Select
    pour information, la couleur de texte pour les vides (Forecolor) est inutile.
    Merci de ne pas répondre systématiquement avec le bouton "Répondre avec citation", il vaut mieux utiliser le bouton bleu à gauche "Répondre à la discussion". Si c'est nécessaire, utilise plutôt l'icone bulle, juste avant le # pour citer une partie de la discussion après l'avoir copié et collé.
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  5. #45
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re
    Merci de toutes ces informations et remarques pour la bonne utilisation du Forum.
    j'ai utilisé cette partie de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Case Else
            If IsNull(.Fields(l_intCompteurControl)) Then
                Me.Controls(l_strRadicalLigne & l_strRadicalColonne).BackColor = l_lngVide
            Else
                Me.Controls(l_strRadicalLigne & l_strRadicalColonne).BackColor = l_lngBlanc
                Me.Controls(l_strRadicalLigne & l_strRadicalColonne).ForeColor = l_lngNoir
            End If
    Tout fonctionne à merveille.

    Je teins à remercier tous ceux qui ont participer à cette discussion où j'ai appris beaucoup de choses.

    J'ai une dernière question qui ne pas en ligne de directe dans cette discussion et avant d'en ouvrir une nouvelle je voudrais savoir si cela est possible,
    d'ouvrir une requête dynamique croisée à l'aide d'une liste déroulante, car j'ai ce message qui s'affiche Microsoft office ne reconnait pas [Formulaires]![MG]![Cbo_HtePluie_Couleur] en tant que champ ou expression correcte.
    Je placerai affaire résolu, après cette réponse.
    Cordialement
    Images attachées Images attachées  

  6. #46
    Membre habitué

    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2014
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2014
    Messages : 372
    Points : 150
    Points
    150
    Billets dans le blog
    1
    Par défaut
    Re
    J'ai trouvé la solution à ma dernière question concernant l'ouverture d'une RAC à l'aide d'une liste déroulante. Je suis passé par la suppression et création d'une table issue d'une requête avec critère de sélection.
    Je remercie tous les participants et je clos cette discussion qui m'a apportée beaucoup.
    cordialement

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/10/2010, 16h43
  2. Couleur de fond d'un controle d'edition
    Par Code Rom dans le forum Windows
    Réponses: 12
    Dernier message: 25/11/2009, 15h54
  3. TDBGRID - Couleur de fond d'une seule cellule
    Par cgo dans le forum Bases de données
    Réponses: 5
    Dernier message: 11/09/2009, 10h16
  4. Changer couleur de fond d'un control sur prise / perte de focus
    Par nicodev24 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/01/2008, 10h53
  5. [Vb.Net] Changer la couleur de fond d'un control "désactivé"
    Par Thierryx dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/09/2006, 19h02

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