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 :

MEFC par Excel & Reconnaissance couleurs par VBA


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut MEFC par Excel & Reconnaissance couleurs par VBA
    Niveau débutant, j'essaye de mettre en place une macro pour la qualification d'un test. Pour cela, j'ai 5 tableaux de valeurs (environs 12 colonnes et 10 lignes par tableau) et je voudrais que la macro m'indique que le test n'est pas qualifié si une des valeurs ne répond pas aux critères.
    Sur ma feuille Excel, j'ai utilisé les mises en forme conditionnelles pour faire apparaître en rouge les valeurs hors critères.
    Sur ma macro, je demande de vérifier la couleur de police de chaque case (mais au lieu de lire =3 la macro lit =-4105)
    Est-ce qu'il existe un moyen pour détourner ce problème ?

    J'ai fait un autre tableau pour illustrer mon problème sur ce forum :
    Sur Excel j'ai le tableau suivant :
    Les 12 mois de l'année de B3 à M3
    Leur nombre de jours de B4 à M4 (MEFC en rouge si >30)
    Je veux afficher la liste des mois en 31 jours dans la case B6
    Et j'ai codé la macro suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub MEFC()
    Dim cc As Range
    Dim StrMois As String
    StrMois = ""
    Sheets(1).Select
    For Each cc In Range(Range("B4"), Range("M4"))
        If cc.Font.ColorIndex = 3 Then
        StrMois = StrMois & cc.Offset(-1, 0).Text & "  "
        Else
        End If
    Next cc
    Range("B6").Value = StrMois
    End Sub
    Cette macro ne marche que si je supprime la Mise en Forme Conditionnelle et que je mette moi-même en rouge les mois en 31 jours.

  2. #2
    Membre éclairé
    Homme Profil pro
    retraité
    Inscrit en
    Mai 2006
    Messages
    542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Mai 2006
    Messages : 542
    Points : 712
    Points
    712
    Par défaut
    Bonjour à tous
    BONJOUR westeban29

    Tu devrais plutôt te tourner vers la vérification des mois qui sont supérieurs à 30, ce sera plus simple et plus efficace

    Eric

  3. #3
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Bonsoir,

    Tu commets une erreur classique :

    • Formate une cellule avec un fond rouge
    • Ajoute une règle de MEFC disant que le fond doit être jaune si la cellule n’est pas numérique
    • Ajoute une règle de MEFC disant que le fond doit être bleu si la cellule est <= 10
    • Ajoute une règle de MEFC disant que le fond doit être vert si la cellule est > 10

    Alors même que la cellule n’apparaîtra jamais avec un fond rouge tant qu’on aura pas effacé 1 règle au moins de la MEFC, ColorIndex renverra toujours la valeur correspondant au fond rouge, défini initialement.

    Par conséquent en VBA, tu peux te baser sur les conditions de la MEFC, mais pas sur les couleurs découlant de la MEFC.

    Cordialement,
    Michel Gaboly
    Développeur Excel et VBA


    Pas de question technique par MP, je n’y répondrai pas, utilisez le forum - Merci
    Pensez à ajouter le tag

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Pour la réponse d'edelweisseric, je comprends que la solution est + simple en vérifiant si >30, mais ce n'était qu'un exemple pour la discussion.
    Dans mon cas, j'ai affaire à plusieurs tableaux, et chaque colonne a son propre critère de sélection.
    Avec la vérification de la couleur de police, j'avais la possibilité en 1 fois de vérifier si mon test était ok ou non.
    Je crois que je vais devoir vérifier colonne par colonne (à chaque changement de critère de sélection).

    Pour la réponse de Bigalo, si je comprends bien, il n'existe aucun moyen de vérifier par une macro que la condition de la MEFC a bien eu lieu ?

    Merci à tous les 2

  5. #5
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    bonjour à tous

    Si il y a une solution, mais snif, j'ai perdu le fichier, et ce n'est pas moi qui l'ai ecrit
    Je connais l'analyse, mais mes connaissances sont plustot retreintes pour re-ecrire la macro rapidement. il va me falloir faire des recherches et ca risque d'etre long

    Cordialement
    Wilfried

  6. #6
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    j'ai retrouvé le fichier (il etait dans mon vieil ordi que j'ai donné à ma fille), à toi de l'adapter pour tes besoins
    Wilfried

  7. #7
    Membre confirmé
    Avatar de Bigalo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 445
    Points : 563
    Points
    563
    Par défaut
    Re,

    Citation Envoyé par westeban29 Voir le message
    Pour la réponse de Bigalo, si je comprends bien, il n'existe aucun moyen de vérifier par une macro que la condition de la MEFC a bien eu lieu ?
    Il n’y a pas de solution en testant la couleur. Il y en a en testant si chaque condition possible utilisée pour la MEFC est remplie, soit en VBA, soit en testant des cellules reprenant ces conditions, dans des lignes ou des colonnes éventuellement masquées.

    Cordialement,
    Michel Gaboly
    Développeur Excel et VBA


    Pas de question technique par MP, je n’y répondrai pas, utilisez le forum - Merci
    Pensez à ajouter le tag

  8. #8
    Candidat au Club
    Inscrit en
    Janvier 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses.
    Je pense qu'avec ça je devrais m'en sortir.
    A+

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/08/2014, 00h11
  2. Atténuer une couleur par rapport à son code couleur
    Par Marc22 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 27/05/2010, 09h08
  3. [VBA Excel] Ajouter un AddIn par du code
    Par comme de bien entendu dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 09/11/2006, 17h30
  4. pb de reconnaissance de base access par excel
    Par xycoco dans le forum Access
    Réponses: 1
    Dernier message: 02/02/2006, 20h19
  5. VBA : ouverture d'un Userform sans passer par excel
    Par jemigo dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 23/11/2005, 16h28

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