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 sur la ligne AUJOURD’HUI - 1 si AUJOURD’HUI n’existe pas


Sujet :

Excel

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 680
    Points : 148
    Points
    148
    Par défaut MFC sur la ligne AUJOURD’HUI - 1 si AUJOURD’HUI n’existe pas
    Bonjour,

    Sur une feuille de calcul d’un classeur, j’ai :
    - Des dates (jj/mm/aa), en colonne C : Il manque certaines dates qui peuvent être des jours en semaine, des week-ends, plusieurs jours consécutifs.
    - Des informations dans les colonnes A, E, G, I, J, K, M, N et O.
    Pour faciliter la lecture du tableau au jour le jour, j’ai une MFC qui colore les cellules renseignées du jour que l’on est :

    Appliquer une mise en forme aux valeurs pour lesquelles cette formule est vraie :
    =$C8=AUJOURDHUI()
    S’applique à :
    =$A$8:$A$1045;$C$8:$C$1045;$E$8:$E$1045;$G$8:$G$1045;$I$8:$K$1045;$M$8:$O$1045
    Problème : Si le jour que l’on est n’existe pas dans le tableau, aucune cellule n’est colorée.

    Si les cellules 05/06/24 et 06/06/24 n’existent pas dans la colonne C du tableau et que l’on est le 06/06/24, je souhaiterai que les cellules renseignées dans la ligne précédente le 06/06/24, donc les cellules de la ligne du 04/06/24 soient colorées à l’ouverture du classeur le 06/06/24.

    En espérant avoir été clair.
    D’avance, merci beaucoup.
    Bonne journée.
    bolide7

  2. #2
    Membre averti
    Homme Profil pro
    Formateur bureautique
    Inscrit en
    Janvier 2021
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2021
    Messages : 277
    Points : 421
    Points
    421
    Par défaut Aide
    Bonjour

    je pense que remplacer
    $C8=AUJOURDHUI()
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ou($C8=AUJOURDHUI();$C8=max(c:c))
    devrait faire l'affaire



    Et sinon, je profite de l'occas pour demander si tu as pu terminer le fichier pour ton ami sur lequel on avait travaillé ensemble ?
    @+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 680
    Points : 148
    Points
    148
    Par défaut
    Bonjour Fabien,

    Merci beaucoup pour ton retour.
    Cependant, je ne pense pas que la fonction MAX puisse convenir.
    J’ai oublié de préciser que la colonne C avec les dates est déjà préremplie.
    La fonction MAX devrait donc formater les cellules de la derrière ligne du tableau.
    Et ce n’est pas ce que je souhaite obtenir.

    Pour ta question, je t’envoie un message privé dans la journée.

    Bonne journée.
    bolide7

  4. #4
    Membre averti
    Homme Profil pro
    Formateur bureautique
    Inscrit en
    Janvier 2021
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2021
    Messages : 277
    Points : 421
    Points
    421
    Par défaut Proposition
    Bonjour

    si les dates sont préremplies et que ces dates peuvent être supérieures à la date du jour alors oui, ce que j'ai proposé n'est pas suffisant

    une alternative serait de mettre dans une cellule la date à colorer (date la plus grande avant aujourd'hui ou aujourd'hui si présent)
    en faisant la formule suivante (matricielle, à valider par Ctrl Maj Entrée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=MAX(SI($C$8:$C$20<=AUJOURDHUI();$C$8:$C$20))}
    ' ajuster le C20 en fonction de ton tableau évidemment

    Perso, j'ai nommé cette cellule Date_à_colorer
    Ca me permet donc de mettre la mise en forme conditionnelle comme suit :
    en espérant avoir bien compris la demande ce coup ci

  5. #5
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 230
    Points : 5 605
    Points
    5 605
    Par défaut
    Pour continuer dans l'idée précédente, la condition de la MFC peut s'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ET($C2<=AUJOURDHUI();$C2=MAX(SI(rDates<AUJOURDHUI();rDates)))
    où rDates désigne la plage des dates dans la colonne C.
    Fichiers attachés Fichiers attachés

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 680
    Points : 148
    Points
    148
    Par défaut
    Bonjour Fabien,

    Ta formule fonctionne très bien lorsque la date du jour :
    - Est présente dans la colonne C.
    - N’est pas présente dans la colonne C.
    Cependant, je n’ai pas créé de cellule "Date à colorer".
    J’ai directement placé ta formule ci-dessous dans la MFC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $C8=MAX(SI($C$8:$C$1045<=AUJOURDHUI();$C$8:$C$1045))
    Par contre, je n’ai pas compris pourquoi tu utilises la fonction SI.
    Pourrais-tu m’expliquer dans le détail ta formule ?

    Grand merci également à EricDgn pour ton autre proposition.

    Bonne fin de week-end à vous deux.
    bolide7

  7. #7
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 230
    Points : 5 605
    Points
    5 605
    Par défaut
    MAX(SI(condition,plage))
    C'est pour obtenir la date la plus grande qui à l'intérieur de la plage respecte la condition.

  8. #8
    Membre averti
    Homme Profil pro
    Formateur bureautique
    Inscrit en
    Janvier 2021
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Formateur bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2021
    Messages : 277
    Points : 421
    Points
    421
    Par défaut Réponse
    Citation Envoyé par bolide7 Voir le message
    Bonjour Fabien,

    Ta formule fonctionne très bien lorsque la date du jour :
    - Est présente dans la colonne C.
    - N’est pas présente dans la colonne C.
    Cependant, je n’ai pas créé de cellule "Date à colorer".
    J’ai directement placé ta formule ci-dessous dans la MFC :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $C8=MAX(SI($C$8:$C$1045<=AUJOURDHUI();$C$8:$C$1045))
    Par contre, je n’ai pas compris pourquoi tu utilises la fonction SI.
    Pourrais-tu m’expliquer dans le détail ta formule ?

    Grand merci également à EricDgn pour ton autre proposition.

    Bonne fin de week-end à vous deux.
    bolide7
    Bonjour
    le si associé au max permet de dire : trouve moi le max pour une valeur inférieure ou égale à la valeur du jour
    j'avais indiqué de mettre une cellule date à colorer car j'avais vu que tu utilisais excel 2013 et je n'étais pas sur qu'un max si fonctionne.
    l'essentiel est que le problème soit résolu
    @+

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 680
    Points : 148
    Points
    148
    Par défaut
    Bonjour Fabien,
    Bonjour EricDgn,
    Merci beaucoup pour vos 2 explications.
    Je ne connaissais pas cette fonction SI.
    Ce qui m’a perturbé, c’est que je ne connaissais que la fonction SI classique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(condition ; valeur si vrai ; valeur si faux)
    Sauf nouvelle incompréhension de ma part, la fonction SI que vous avez utilisé n’a rien à voir avec la fonction SI classique que je connaissais. En effet, votre fonction SI ne s’écrit pas du tout pareil que la fonction SI classique.
    Encore un grand merci à vous deux.
    Bonne fin de journée.
    bolide7

Discussions similaires

  1. [XL-2016] Tirer formules de MFC sur une ligne ou macro
    Par clemdamour dans le forum Excel
    Réponses: 1
    Dernier message: 07/08/2017, 09h39
  2. [XL-2007] comparaison cellule date sur même ligne et MFC
    Par karlgina dans le forum Excel
    Réponses: 4
    Dernier message: 02/09/2016, 11h47
  3. Réponses: 7
    Dernier message: 21/02/2014, 20h55
  4. Réponses: 23
    Dernier message: 23/03/2009, 16h38
  5. Réponses: 13
    Dernier message: 12/07/2005, 10h14

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