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 :

Mise en forme conditionnelle sur une plage dynamique


Sujet :

Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 20
    Points : 22
    Points
    22
    Par défaut Mise en forme conditionnelle sur une plage dynamique
    Bonjour,

    J'ai actuellement une mise en forme conditionnelle qui se fait sur 1 ligne et 12 colonnes (les 12 mois de l'année). Ma mise en forme conditionnelle fonctionne bien sur mes 12 colonnes (mise en forme "jeux d'icônes") mais je voudrais qu'elle s'applique que sur les mois déjà passés et le mois en cours. Par exemple si nous étions au mois de mars, je voudrais que ma mise en forme conditionnelle s'applique sur mes 3 premières colonnes (janvier, février et mars) et non pas sur les 12 mois de l'année. Au mois suivant sur les 4 premières colonnes et ainsi de suite...

    J'ai tenté quelque chose dans "Gérer les règles". Dans le champ "S'applique à" j'ai mis :

    L156C2:ADRESSE(LIGNE(); MOIS(AUJOURDHUI()))

    L156C2 correspondant à mon mois de janvier.

    Le problème c'est qu'excel remplace tout de suite ADRESSE(LIGNE(); MOIS(AUJOURDHUI())) par la bonne cellule alors que je voudrais qu'il garde cette formule en "symbolique" et qu'à chaque fois que j'ouvre mon fichier il remplace par la bonne valeur. En gros je voudrais une plage dynamique en fonction du temps pour ma mise en forme conditionnelle.

    Est ce que cela est faisable ?

    Merci ! et bonnes fêtes à tous.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 917
    Points : 28 901
    Points
    28 901
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour l'exemple à adapter, nous avons un tableau sur la plage $B$4:$M$11 contenant en ligne 4 les dates (1/1/2012 -> 1/12/2012) avec comme format mmm aa et en lignes 5 à 11 les données.
    En A2 une date de référence qui pourrait être la date du jour.
    Sélection de la plage $B$4:$M$11 sur laquelle on va appliquer la MFC.
    Choisir comme règle Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué et entrer cette formule.
    Une autre solution plus simple encore
    Le format que j'ai appliqué est une couleur de cellules, pas de jeux d'icônes.

    Pour les jeux d'icônes, je proposerais de faire référence non pas à une référence absolue comme $B$5:$M$11 mais à une référence dynamique calculée par la fonction DECALER.
    Le nom donné à la plage est dbYear et à la place de faire référence à une plage il y a lieu d'entrer cette formule. (La plage se trouve dans la Feuil1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$A$5;0;0;7;MOIS(Feuil1!$A$2))

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Merci pour votre réponse,

    C'est vrai que je pourrais passer par une cellule cachée qui contiendrait la date du jour et utiliser une formule. Mais je souhaiterais conserver le jeux d'icônes car j'ai une 2ème mise en forme conditionnelle qui s'applique sur mes données, qui est de type couleur de cellule.

    Pour l'instant je n'utilise que des mises en forme conditionnelles proposées dans le ruban "Accueil" d'excel, mais peut-être qu'il est possible de tout coder dans une macro en vba ? mais je ne suis pas sûr dans ce cas de pouvoir utiliser les jeux d'icônes...?

    C'est plus une question d'esthétique en fait. Je trouve ça dommage d'avoir des icônes ou des couleurs sur des cellules qui ne devraient pas en avoir car prévues pour les mois suivants.

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 917
    Points : 28 901
    Points
    28 901
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai donné comme exemple la cellule A2 pour y mettre la date mais il est tout à fait possible de remplacer dans la formule la référence à A2 par la formule AUJOURDHUI().
    C'est pour cela que j'ai écris
    Pour l'exemple à adapter....

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 917
    Points : 28 901
    Points
    28 901
    Billets dans le blog
    53
    Par défaut Errata
    Bonjour,
    Je reviens sur ma proposition de travailler avec une plage dynamique pour les jeux d'icônes.
    La zone S'applique à ne semble pas accepter les références dynamiques. Le nom de la plage nommée est immédiatement remplacée par sa référence absolue.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 20
    Points : 22
    Points
    22
    Par défaut
    Oui c'est ce que j'expliquais à la fin de mon 1er post. Excel passe tout de suite en référence absolue, d'où mon problème.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 222
    Points : 323
    Points
    323
    Par défaut MEFC avec (tentative d') utilisation d'une plage nommée
    Bonjour,

    Je voudrais mettre une MEFC (Mise en forme conditionnelle) sur une colonne d'un TCD (Tableau croisé dynamique).
    Actualisé, le TCD (peut) change(r) de taille et donc de nombre de ligne.
    J'ai fait un calcul du nombre de ligne avec la fonction nbval() sur une plage un peu plus grande sur une colonne du TCD toujours intégralement remplie.
    J'ai nommé une plage qui dépend de ce nombre de ligne : =DECALER('Balance réglement'!$C$7;0;0;NBVAL('Balance réglement'!$C$7:$C$40);1)
    Dans la MEFC, j'ai choisi le 6e type (Utiliser une formule ...). la formule est =$B7<=$D$2
    Dans l'interface, pour "S'applique à", j'indique ma plage nommée ... mais elle se transforme immédiatement en plage absolue !
    Dommage !
    _ Que faire ?

    Question complémentaire :
    _ Y-t-il moyen d'utiliser les colonnes du TCD par leur noms ?

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 917
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 917
    Points : 28 901
    Points
    28 901
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Réveil d'une ancienne discussion.
    La mise en forme conditionnelle qui s'applique à une plage de données ne se gère pas tout à fait de la même manière avec les tableaux croisés dynamique où il y a trois options de référencement.
    Et pour rendre dynamique une plage de données, il est préférable de convertir la plage en tableau que d'utiliser la combinaison des fonctions DECALER et NBVAL

  9. #9
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 474
    Points : 16 358
    Points
    16 358
    Par défaut
    BOnjour

    Je plussoie à la réponse de Philippe (que je salue ): la MFC des TCD ne marche pas comme celle des plages et il ne faut jamais utiliser "cellule sélectionnée".

    On peut faire énormément de choses et, les colonnes ayant un titre, jouer avec cela dans les formules de MFC pour appliquer la MFC à ce que l'on veut.
    J'ai posté je ne sais combien d'exemples sur ces cas en réponse à des fils.

    Comme sur ton autre fil, tes questions sont trop générales pour qu'on réponde avec précision et en plus tu ouvres 2 fils qui finalement sont liés à la même problématique...

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2012
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 222
    Points : 323
    Points
    323
    Par défaut
    Bonjour,
    Merci à 78Chris et Philippe Tulliez.

    Je suis tout à fait d'accord pour utiliser les MEFC sur une plage de données mise sous forme de table(au).
    Mon TCD étant mon tableau résultant, c'est sur lui que je veux mettre mes MEFC, d'où ma question.
    Le TCD et la MSFT ne sont pas compatible.
    Le TCD étant une "extrémité" d'Excel, pour l'exploiter il faut bien utiliser les fonctions appropriées.

    Mais je suis ouvert à toutes suggestions.

    Cordialement

  11. #11
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 474
    Points : 16 358
    Points
    16 358
    Par défaut
    Bonjour

    Je parlais bien de MFC dans les TCD : l'approche est un peu différente mais on arrive à faire presque tout ce que l'on veut.

    Que l'on soit dans un tableau ou un TCD, les jeux d'icônes et autre MFC en prêt à porter sont très limitées mais les limites sont les mêmes.

Discussions similaires

  1. [XL-2013] Mise en forme conditionnelle sur une cellule contenant une formule
    Par CrasherSEP dans le forum Conception
    Réponses: 2
    Dernier message: 20/05/2015, 13h19
  2. Réponses: 2
    Dernier message: 05/07/2014, 14h25
  3. Mise en forme conditionnelle sur une date
    Par SebC94 dans le forum Excel
    Réponses: 2
    Dernier message: 09/11/2012, 11h29
  4. Mise en forme conditionnelle sur une date ?
    Par byloute dans le forum Excel
    Réponses: 2
    Dernier message: 21/11/2007, 15h57

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