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

Excel Discussion :

MFC faisant référence à deux cellules avec formule


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 46
    Points : 30
    Points
    30
    Par défaut MFC faisant référence à deux cellules avec formule
    Bonjour le forum,
    Dans un classeur Excel, je cherche à mettre en couleur des cellules en fonction du contenu de ces cellules et d'autres cellules.
    J'ai une MFC qui met en couleur les cellules E130:E179, en fonction des cellules D130:D179 et E130:E179.
    Si cellule de la colonne D est remplie avec une valeur et si la cellule de la colonne E est égale à 0, je voudrai que la cellule de la colonne E soit coloriée.
    Dans la cellule de la colonne D, j'ai la formule suivante :
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =SIERREUR(STXT(INDIRECT("'Sortie'!C"&LIGNE()+9);1;TROUVE("(";INDIRECT("'Sortie'!C"&LIGNE()+9);1)-1)&CAR(10)&INDIRECT("'Sortie'!D"&LIGNE()+9);INDIRECT("'Sortie'!C"&LIGNE()+9)&CAR(10)&" "&INDIRECT("'Sortie'!D"&LIGNE()+9))
    Dans le cellule de la colonne E, j'ai la formule suivante :
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =INDIRECT("'Sortie'!F"&LIGNE()+9)
    Le problème c'est que je n'arrive pas à écrire la bonne formule dans la MFC, pour que les cellules de la colonne E, soient coloriées uniquement si les cellules de la colonne D ne soient pas remplies.
    Soit tout est colorié, soit rien n'est colorié.
    Merci pour votre aide.

  2. #2
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Salut.

    A mon avis, c'est une histoire de $ dans la formule de ta mfc, mais tu ne nous donnes pas la formule que tu utilises ^^ Probablement as-tu laissé le $ devant les lignes de tes références. Or, une mfc formulée fonctionne avec les références relatives et absolues comme n'importe quelle formule Excel.

    Un second problème que je vois est que tu n'exprimes pas le même besoin en début et en fin de message. En début, tu souhaites que E soit coloré lorsque D n'est pas vide et que E = 0, alors que en fin de message, tu demandes que E soit coloré si D est vide...


    Voici un exemple basé sur ta première condition. La formule à utiliser dans la mfc est la suivante:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(NBVAL(D130)=1;NBVAL(E130)=1;E130=0)

    Nom : 2020-12-22_061810.png
Affichages : 103
Taille : 102,0 Ko
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 46
    Points : 30
    Points
    30
    Par défaut
    Bonjour Pierre,
    Merci de bien vouloir t'intéresser à mon problème.
    Ce que je recherche à partir d'une MFC : si sur la même ligne, la cellule de la colonne D a une valeur et si la cellule de la colonne E est vide, la cellule de la colonne E est coloriée.
    Pour cela j'avais utilisé dans la MFC, la formule :
    =ET(D130<>0;E130=0)
    Le problème c'est qu'avec la formule que j'ai dans les cellules de la colonne D, on a toujours une valeur, car si j'écrit =NBVAL(Dn) j'obtient la valeur 1, même si la cellule est vide.
    Encore merci.

  4. #4
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 666
    Points : 1 105
    Points
    1 105
    Par défaut
    Bonjour Sergio33600, le forum


    Essayez avec cette formule :
    LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
    OS : Windows 11.0

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Désolé, je n'avais pas fait attention que tu avais des formules en D130 et E130.

    Dans la mesure où l'on ne sait pas si les formules renvoient du texte ou des valeurs numériques, j'utiliserais ceci:
    Code formule : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET(D130<>"";D130<>0;OU(E130="";E130=0))
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 46
    Points : 30
    Points
    30
    Par défaut
    Re-Bonjour Pierre, Bonjour njhub,

    Je vous remercie pour vos réponses, mais j'ai toujours le problème.
    Pour info, le format nombre dans les cellules de la colonne D : 0;-0; et pour la colonne E : 0.0;-0.0;.
    Ceci afin de masquer le zéro lorsque les cellules sont vides.
    Encore merci de vous intéresser à mon problème.

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    En colonne F, crée la formule et teste-là. Il te suffira, une fois trouvée et testée, de la copier-coller dans ta MFC.

    Perso, j'ai testé avec D130 et E130 contenant des formules, et le résultat correspond à ce que tu souhaites:

    Nom : 2020-12-22_153926.png
Affichages : 100
Taille : 3,8 Ko


    Peux-tu donner une copie d'écran de la situation, ainsi qu'une copie d'écran de la mfc? T'es-tu bien assuré, lorsque tu as placé la mfc sur la plage, que E130 était bien la cellule active?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 46
    Points : 30
    Points
    30
    Par défaut
    Bonsoir Pierre,

    Nom : Copie écran1.png
Affichages : 88
Taille : 94,7 KoNom : Copie écran2.png
Affichages : 107
Taille : 114,1 KoNom : Copie écran3.png
Affichages : 96
Taille : 119,1 Ko
    J'espère que les copies sont assez bonnes.
    Encore merci.

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Comme ça, on ne peut pas dire que c'est très lisible.

    As-tu essayé de mettre la formule en F pour voir quand ça rend VRAI et FAUX? Je suppose que tu ne souhaites pas que ce soit gris foncé en bas de tableau, mais ma formule n'allume pas les cellules vides en D et en E.
    Fichiers attachés Fichiers attachés
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 46
    Points : 30
    Points
    30
    Par défaut
    La condition est "vraie" même lorsque la cellule de la colonne D est vide.

    Nom : Document1.png
Affichages : 94
Taille : 171,8 Ko

  11. #11
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 666
    Points : 1 105
    Points
    1 105
    Par défaut
    A première vue

    La condition est "vraie" même lorsque la cellule de la colonne D est vide.
    la colonne D contient des noms, et donc n'est pas vide et la colonne E est vide, renvoie "VRAI" ou 1
    ce qui correspond à votre demande initiale
    la cellule de la colonne D a une valeur et si la cellule de la colonne E est vide
    En définitive, vous voulez obtenir quel résultat?

    LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
    OS : Windows 11.0

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Décembre 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2014
    Messages : 46
    Points : 30
    Points
    30
    Par défaut
    En fait, ce que je voudrai : lorsqu'il y a un nom dans la colonne D et si la colonne E est vide, comme c'est la cas pour la ligne 130 par exemple, la cellule de la colonne E soit en gris. Et s'il n'y a pas de nom dans la colonne D, la cellule de la colonne E, ne soit pas en gris.
    Encore merci pour votre aide.

  13. #13
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Le problème, c'est que comme tes cellules contiennent des formules, elles ne sont jamais vides! Cela veut dire que c'est toi qui dois déterminer ce que veut dire "vide".

    La formule que je t'ai donnée permet de réaliser ce que tu demandes, ou plutôt ce que j'ai compris de ta demande, comme l'illustre le classeur que j'ai mis en lien.

    Si tu veux qu'on puisse t'aider, tu dois déterminer ce que veut dire "vide", notamment par rapport aux valeurs qui peuvent être renvoyées par les formules que tu utilises en D et en E.

    Eventuellement, un fichier exemple dépersonnalisé pourrait être intéressant, à ce stade.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  14. #14
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 666
    Points : 1 105
    Points
    1 105
    Par défaut
    Nous voilà avec deux conditions, testez les formules suivantes et prenant soin d'utiliser DEUX conditions

    1) D="" --> E format par défaut 2) D<>"" & E="" --> E en fond gris
    LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
    OS : Windows 11.0

  15. #15
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Tant que l'on ne sait pas ce qui est renvoyé par les formules en D et E, on ne peut pas se contenter de tester "", il faut à mon sens tester aussi 0, car lorsque INDIRECT pointe vers une cellule vide, elle renvoie 0, comme un simple =A1 alors que A1 serait vide.

    La solution pourrait venir de là, en adaptant les formules en D et E pour renvoyer "" si la cellule pointée par INDIRECT est vide. Ca simplifierait la formule. A voir s'il est plus simple, surtout en 2007, de renvoyer "" avec INDIRECT ou de tester "" et 0 au niveau de la MFC.

    Pour bien comprendre ce qui se passe, je répète qu'il faut utiliser la formule en F130:F179 pour voir quand ça renvoie VRAI ou FAUX. L'avantage est que l'on peut utiliser l'audit de formule pour mieux comprendre avec quelles valeurs exactement Excel travaille en D et E.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. [XL - 2010] Mise à jour cellule avec formule macro
    Par scrouet dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2011, 11h46
  2. récupération résultat cellule avec formule JXL
    Par Psycho185 dans le forum Documents
    Réponses: 1
    Dernier message: 28/06/2011, 10h19
  3. Trier cellules en ignorant les cellules avec formule
    Par Neptune64 dans le forum Conception
    Réponses: 2
    Dernier message: 20/10/2009, 22h04
  4. titre aperçu faisant référence à une cellule
    Par jffaber dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/05/2008, 15h44
  5. VBA - Copier cellules avec formules
    Par Alecine dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 23/05/2008, 15h41

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