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

Macros et VBA Excel Discussion :

Résultat vba d'une mise en forme conditionelle ?


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut Résultat vba d'une mise en forme conditionelle ?
    Bonjour à tous.
    Je vous explique mon problème.
    J'ai un tableau de donnée, avec une colonne de résultat gérée en mise en forme conditionelle. Ce n'est pas la même selon les lignes. Par exemple, ma case G10 s'affichera en rouge si le resultat est positif, en vert sinon, mais ça peut etre l'inverse pour la case G12.

    Je dois afficher la couleur de ma case dans un nouveau fichier CSV que je crée avec VBA.
    Mais la mise en forme conditionelle se crée à l'ouverture du fichier excel, donc je ne peux pas dire dans mon vba "si c'est rouge, écris moi rouge, si c'est vert écris moi vert", vu que la case est toujours blanche pendant l'éxécution du code.

    J'aimerais savoir si la mise en forme conditionelle renvoie une sorte de code pour que je puisse dire quelque chose comme (si condition 1 = vrai ecris rouge, sinon ecris vert ... )

    Si cela n'existe pas, je vais faire ligne par ligne ( mais vous comprendrez bien qu'une boucle est beaucoup plus facile à gérer ... )

    Ou si vous avez un autre moyen pour moi, je suis tout ouï.

    Merci et bonne journée à vous.

  2. #2
    Membre expérimenté
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Points : 1 580
    Points
    1 580
    Par défaut
    Bonjour,
    Un fichier csv est un fichier texte, il ne peut donc pas contenir de mise en forme (couleur, police, ...)

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Bonjour,
    Effectivement, en réalité, j'écris dans ce fichier le texte de la couleur.
    Si c'est vert, j'écris "vert".

    Mais mon souci est que si je demande le code couleur de ma case, ça sera blanc car la couleur ( générée par la mise en forme conditionelle du fichier excel ) est générée à l'ouverture du fichier excel, et pas pendant que j'éxécute mon code. ( je ne sais pas si je suis clair .. )

  4. #4
    Membre expérimenté
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Points : 1 580
    Points
    1 580
    Par défaut
    Re-Bonjour,
    OK, alors pour récupérer les informations de mise en forme conditionnelle, il faut aller du côté de la collection FormatConditions.
    Par exemple, ActiveCell.FormatConditions(1).Formula1 donne la formule qui sert à la première mfc de la cellule active.
    Le parcours de cet objet est assez lourd, et lorsqu'une mfc s'applique à une plage de cellules, la formule stockée est relatives à la première cellule dê la plage, ce qui rend difficile l'interprétation de la formule.
    Je conseillerais plutôt de recoder les conditions directement dans le VBA.

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci de votre réponse.
    Ok, j'ai une vingtaine de ligne, donc je vais exploser ma boucle.
    Si j'en avais eu un peu plus cela aurait été embétant ...

    Je vais garder votre indication dans un coin de ma tête en tout cas.
    Merci

Discussions similaires

  1. Copier/coller une mise en forme d'une ligne compléte en vba
    Par ptitrault dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2009, 15h38
  2. Réponses: 2
    Dernier message: 21/07/2008, 14h26
  3. [VBA-E]Archiver une mise en forme pour la reproduire plus tard
    Par tazamorte dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 31/01/2007, 11h12
  4. [VBA EXCEL]: Savoir si une mise en forme conditionnelle est active
    Par ADONET dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/01/2007, 14h59
  5. [VBA-E] Mise en forme conditionelle
    Par captaine93 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/09/2005, 15h55

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