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

WinDev Discussion :

Changer la couleur d'une cellule dans une table


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Points : 39
    Points
    39
    Par défaut Changer la couleur d'une cellule dans une table
    Bonjour,

    j'ai une Table Stock dans laquelle sont répertoriés les stocks de tous les produits. Pour chaque produit (donc ligne de la table), je souhaite changer la couleur d'une colonne précise suivant la valeur affichée : par défaut si 0, rouge si négative et bleu si positive.
    J'utilise le code suivant mais il ne me donne pas satisfaction car cela entraîne un affichage très lent du contenu de la table, bloque l'application pendant quelques secondes et quelques fois la plante même carrément.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    i est un entier=1
    POUR i=1 A TableOccurrence(TABLE_Stock)
    	SI TABLE_Stock.Difference[i]>0 ALORS
    		TABLE_Stock.Difference[i]..Couleur=iMagentaFoncé
    	SINON
    		SI TABLE_Stock.Difference[i]<0 ALORS
    			TABLE_Stock.Difference[i]..Couleur=iRougeClair
    		FIN
    	FIN
    FIN
    Quelqu'un aurait-il une autre idée de code ?

    Merci d'avance.

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    i est un entier=1
    POUR i=1 A TableOccurrence(TABLE_Stock)
    	SELECT CASE TABLE_Stock.Difference[i]
                       CAS <0
    		TABLE_Stock.Difference[i]..Couleur=iMagentaFoncé
                       CAS >0
    		TABLE_Stock.Difference[i]..Couleur=iRougeClair
                       AUTRE CAS
                       CAS <0
    		TABLE_Stock.Difference[i]..Couleur=iNoir
    	FIN
    FIN
    Il faut aussi voir où tu implémentes ce code ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Points : 39
    Points
    39
    Par défaut
    Dans <Affichage d'une ligne> dans le code de la Table

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Oupsssssssssssssssss

    Donc à l'affichage de chaque ligne, il parcourt toute la table pour modifier la couleur d'affichage.
    Normal que ce soit lent

    Il faut mettre ce code après l'affichage complet de la table.

    Quand j'ai besoin de ce genre de parcours, je fais une procédure et je l'appelle après chaque affichage.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 108
    Points : 39
    Points
    39
    Par défaut
    Merci pour tes conseils


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

Discussions similaires

  1. [XL-2010] changer la couleur d'un texte dans une cellule
    Par nobue dans le forum Conception
    Réponses: 6
    Dernier message: 24/11/2013, 17h34
  2. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  3. [XL-2007] problème de codage en vba ("copie d'une partie d'une cellule dans une cellule vide")
    Par skipeemed dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/10/2010, 17h01
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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