Développement mise en forme conditionnels

Bonjour à toutes et à tous, 😊

Je me considère comme quelqu'un de débutant dans l'automatisation d'un fichier Microsoft Office, même si ces derniers temps, j'essaye de m'y sensibiliser, je suis loin d'être capable de gérer les macros, les userform ou autre programmations 😁

Au lancement de ce projet, je m'étais presqu'engagé à ne pas venir m'aider du forum, parce que je souhaitais me dire (si j'y étais parvenu) : "C'est moi qui l'ai fait ça !", mais tout ça, se sera pour une prochaine fois... 😪

Donc pour l'expliquer brièvement, mon fichier comporte 2 feuilles : Calendrier & Récap Essais.

Le calendrier sert à visualiser plus simplement (et dans le temps), les essais qui sont rajoutés au fur et à mesure.

Concernant le Récap Essais, c'est l'endroit où l'on note la date de l'essai 0, et en faisant défiler vers la droite, les autres dates apparaissent. (à savoir que les dates de cette feuille, ont été convertis en chiffre comme dans la feuille Calendrier en A <explication plus tard>)

Dans le meilleur des mondes, j'aimerais pouvoir automatiser le fait, que lorsque nous ajoutons un nouvel essai, les 4 dates (E1/E2/E3/E4) apparaissent de façon visuelle dans le Calendrier les unes aux côtés des autres (Essai A R1 en H / Essai A R2 en I / Essai A R3 en J...) avec la couleur prévue et dans le calendrier, dans la cellule violette par exemple d'y écrire dans cette case le numéro de l'essai (ici ça a été fait à la main).

Actuellement le point où j'en suis :

J'ai utilisé une mise en forme conditionnelle, en disant qu'a la ligne où en A1, le chiffre de la cellule G2 de 'Récap Essais' apparait, la case se colore d'une telle façon. (voir mises en forme conditionnelles colonne H)

Ce qui n'est pas fait :

Actuellement tout ce fait à la main :

- l'agrandissement du calendrier (puisque les mois ne sont pas linéaires #Février #Août, ce qui cause pas mal de problème)

- Les mises en formes conditionnelles (le faire pour chaque colonne n'est pas viable, je passerais des heures pour pas grand chose)

- l'ajout de nouveaux essais ( à voir si possibilité avec un Userform🤔)

Petit résumé de mon avancée avec un exemple

Je vais vous faire une petite mise en situation avant d'expliquer mes souhaits si toute fois c'est possible...

Prenons l'Essai A > en R1, nous avons 4 dates : 44453 / 44467 / 44481 / 44495 (nous ne prenons pas en considération Etape0)

Je voulais que ces dates apparaissent dans la colonne H de mon calendrier, donc ce que j'ai fait, c'est d'avoir installer d'abord toutes les dates en A, puis de les avoir converti sous forme de nombres pour ecrire la mise en forme conditionnelle suivante : =ET($A1='Recap essais'!$H$2). Qui dit (si j'ai tout compris), que lorsqu'en A, le contenu de la cellule H2 'Récap Essais seront les mêmes, alors celle-ci sera vraie, et la mise en forme sera installée.

J'ai essayé d'adapter cette mise en forme avec les 4 étapes, ou alors essayer de l'adapter pour l'incrémenter pour que la colonne I 'Calendrier' ait "=ET($A1='Recap essais'!$H$3), mais en vain. J'ai également essayé d'incrémenter avec la formule =RechercheV, mais lorsque j'essayais d'ajouter des Essai, Excel prenait toujours la dernière valeur (ce qui est tout à fait normal).

Au niveau des mises en forme conditionnel, je n'ai pas non plus réussi à récupérer la couleur d'une cellule, j'ai eu beau essayer, mais rien n'y a fait, je n'ai le droit qu'au couleurs standard...

Je joins du coup, le fichier qui permettrait à certains de pouvoir mieux visualiser mes propos, et

Je ne sais pas si j'ai été très très clair, mais merci à ceux qui prendrons le temps de lire et d'essayer de m'aider !

Je reste bien évidemment disponible si vous aviez des questions, ou autres informations dont vous n'avez pas compris.

20classeur1.xlsx (24.06 Ko)

Bonjour

Concernant le Récap Essais, c'est l'endroit où l'on note la date de l'essai 0, et en faisant défiler vers la droite, les autres dates apparaissent

Si l'écart est toujours de 14 jours cela est parfaitement inutile d'inscrire les dates. Un nombre d'essais suffit.

S'il est fixe pour chaque N° pour pas identique pour tous, prévoir une colonne "Délai"

Dans le meilleur des mondes, j'aimerais pouvoir automatiser le fait, que lorsque nous ajoutons un nouvel essai, les 4 dates (E1/E2/E3/E4) apparaissent de façon visuelle dans le Calendrier les unes aux côtés des autres (Essai A R1 en H / Essai A R2 en I / Essai A R3 en J...) avec la couleur prévue et dans le calendrier, dans la cellule violette par exemple d'y écrire dans cette case le numéro de l'essai (ici ça a été fait à la main).

Tu parle de N° mais tu as inscrit un Nom

la mise en forme conditionnelle suivante : =ET($A1='Recap essais'!$H$2). Qui dit (si j'ai tout compris), que lorsqu'en A, le contenu de la cellule H2 'Récap Essais seront les mêmes, alors celle-ci sera vraie, et la mise en forme sera installée.

Tu n'as qu'une condition donc ET ne sert à rien.

Là encore problème entre N° et Nom : si on n'a pas le N° et que la couleur est liée au N° on ne peut chercher

Le calendrier est faisable assez simplement par PowerQuery, intégré à ta version.

Le fait de ne pas intégrer l'étape 0 : est-ce juste pour l'explication ou aussi pour le calendrier ?

Bonjour, d'abord merci de ta réponse,

Si l'écart est toujours de 14 jours cela est parfaitement inutile d'inscrire les dates. Un nombre d'essais suffit.

S'il est fixe pour chaque N° pour pas identique pour tous, prévoir une colonne "Délai"

L'ecart ne sera pas toujours de 14 jours, sur certains essais, ce sera des écarts allongés

Ce tableau me servait (dans la conception que je me faisais) à la saisie de données, parce qu'a chaque étape une action doit être réalisée, d'où l'affichage de 4 dates écartés de 14 jours ;

Tu parle de N° mais tu as inscrit un Nom

Oui, c'est vrai dans le tableur j'ai écris "Essai A", donc c'est plutôt le nom que j'aurais souhaité qu'il soit inscrit, enfin, une manière de savoir en un coup d'oeil, en plus de la couleur, de visualiser l'intitulé de l'essai.

Tu n'as qu'une condition donc ET ne sert à rien.

Là encore problème entre N° et Nom : si on n'a pas le N° et que la couleur est liée au N° on ne peut chercher

Le calendrier est faisable assez simplement par PowerQuery, intégré à ta version.

Le fait de ne pas intégrer l'étape 0 : est-ce juste pour l'explication ou aussi pour le calendrier ?

La fonction ET, est la seule formule que j'ai trouver pour exprimer une mise en forme conditionnelle entre deux cellules, après comme je l'ai dit je ne suis pas un professionnel, donc il doit probablement exister quelque chose de plus adapté...

La couleur est lié au numéro par exemple l'essai A (102) est violet. Puis le 103, une répétabilité de l'essai A sera toujours violet mais dans un ton plus clair, ect pour toutes les répétabilités et les essais

A propos de PowerQuerty, je connais pas du tout, je vais me renseigner, je pourrais faire quelque chose de semblable ?

L'étape 0 est une base pour détérminer dans un essais, les dates des autres actions à réaliser à J+14 / J+28...

Il n'est pas necessaire de l'inscrire dans le calendrier puisque c'est le départ, ici dans le calendrier on s'intéresse aux actions à partir de J+14

Re

Tu ne réponds que partiellement : qu'est qui détermine l'écart ? Il y a une règle ou c'est au cas par cas ?

Quand je disais que ET ne sert à rien cela signifie qu'on peut l'enlever et ne laisser que le reste...

Si une colonne = une répétabilité il faudra autant de MFC que de combinatoires Nom et répétabilité et cela oblige donc à en ajouter à cahque nouvelle colonne répétabilité

Cela risque de faire beaucoup...

A noter que tes numéros de semaine sont à la norme US et non la notre

Exemple PowerQuery

image

Bonjour,

Tu ne réponds que partiellement : qu'est qui détermine l'écart ? Il y a une règle ou c'est au cas par cas ?

C'est une règle qui est faite comme ça, il existe deux types d'essai : Des essais avec des écarts de 14 Jours par étapes, et des essais avec des écarts de Jours entre les étapes, sauf que la grandes majorités, sont des essais de 14 Jours. Donc c'est au cas par cas, mais suivi par une règle.

Exemple PowerQuery

Ca a l'air vraiment pas mal, et c'est exactement comme ce que j'ai ! Donc ça serait parfait,

Quand je disais que ET ne sert à rien cela signifie qu'on peut l'enlever et ne laisser que le reste...

Du coup, je n'ai pas besoin de mettre la fonction '=ET' ? Edit : J'ai essayé, tu as raison, je me suis cassé la tête pour rien ahah

Je tiens déjà à te remercier pour ton aide,

Mais pour le coup, avec ça j'aurais deux solutions qui s'offrent à moi :

- Rester sur Excel,

- Tenter de trouver une solution avec PowerQuerty,

Mais dans quel cas, à ton avis serait le plus simple pour pouvoir automatiser, c'est à dire, en aillant à toucher uniquement la page 'récap essais', de pouvoir directement visualiser sur le Calendrier tous les essais ?

Une manière pour incrémenter la formule actuelle dans MFC dans H : =($A1='Recap essais'!$H$2)

en une formule qui dans I, J, K .... s'adapterait en =($A1='Recap essais'!$H$X) (avec X, la variable en dessous de la précédente dans le tableau du récap essais)

Je viens de revoir ton fichier avec PowerQuerty, tu as du rentrer les MFC à la main ?

Je vais me renseigner pour l'utilisation de PowerQuerty, cela semble assez correct par rapport à ce que je recherche !

Bonjour

PowerQuery est totalement intégré à Excel depuis la version 2016 donc tu "restes" dans Excel

Oui les MFC ont été créées manuellement

Comme je l'ai dit : si une colonne = une répétabilité il faudra autant de MFC que de combinatoires Nom et Répétabilité et cela oblige donc à en ajouter à chaque nouvelle colonne répétabilité et à chaque nouvel essai

Puisqu'on se décale d'une colonne, je trouve qu'ajouter une MFC par colonne juste pour dégrader est se compliquer pour pas grand chose...

Si on garde une couleur par nom d'essai une seule MFC par nom suffit

J'attends donc que tu tranches sur ce point avant de t'envoyer le fichier

Re,

Comme je l'ai dit : si une colonne = une répétabilité il faudra autant de MFC que de combinatoires Nom et Répétabilité et cela oblige donc à en ajouter à chaque nouvelle colonne répétabilité et à chaque nouvel essai

Puisqu'on se décale d'une colonne, je trouve qu'ajouter une MFC par colonne juste pour dégrader est se compliquer pour pas grand chose...

Je suis d'accord avec toi sur le fait, si je mettais un colonne pour les 3 repét d'un essai cela simplifierait le fichier, mais un problème ce pose, puisqu'il se peut (et c'est déjà arrivé) qu'une étape 3 de la répétabilité 1 et l'etape 2 de la répétabilité 2 du même essai tombe le même jour, si un moyen "simple" ou du moins pas trop compliqué pour contrer ce problème, ou pouvoir mettre les deux couleurs dans une case ?

(Si mes explications sont pas clairs, je fais un exemple) :

C'est déjà arrivé que l'étape 3 de l'essai A en répétabilité 1, tombe le 10/08/2021, et que par hasard, l'étape 2 de l'essai A en répétabilité 2 soit le même jour parce qu'on aurait lancé la répétabilité 2, a J+14 de la répétabilité 1 (🎁 tiens un doliprane 💊)

Merci

Puisqu'on se décale d'une colonne, je trouve qu'ajouter une MFC par colonne juste pour dégrader est se compliquer pour pas grand chose...

Si on garde une couleur par nom d'essai une seule MFC par nom suffit

Par contre, le dégradé est vraiment nécessaire, surtout si on peut mettre les 3 répét dans une seule colonne, c'est plus simple de pouvoir dissocier, et reconnaitre facilement l'essai a laquelle la couleur se réfère

RE

J'ai dit ou voulu dire (apparemment pas clairement pour toi) : puisqu'on change de colonne, la couleur peut être la même pour un même nom d'essai

Mais si tu as envie de te créer des tas de MFC, à savoir un nombre de combinatoires égal à Nombre de noms d'essais X nombre de Répétabilité... tu es libre

Mais si tu as envie de te créer des tas de MFC, à savoir un nombre de combinatoires égal à Nombre de noms d'essais X nombre de Répétabilité... tu es libre

Oh bah non, mais justement, je prends les conseils pour savoir si c'est possible de faire ça beaucoup plus simplement et ne pas avoir a les faire une par une...

J'ai dit ou voulu dire (apparemment pas clairement pour toi) : puisqu'on change de colonne, la couleur peut être la même pour un même nom d'essai

Alors non, j'avais pas compris ça, excuse moi ! Dans ce cas là oui, c'est vrai qu'on peut faire comme ça.. Je pensais que tu me disais de garder une seule couleur sans dégradé dans une même colonne. Mais du coup si on fait 3 colonnes pour un essai, si l'essai reste uniquement violet mais que dans la case du jour correspondant il est ecrit "R.X" (le numéro de la répétabilité) c'est totalement correcte aussi 😁

Excuse-moi pour cette confusion...

(Ca peut paraitre lourd, mais si j'ai toujours pas compris n'hesites pas, j'ai un peu du mal avec tout cet univers encore nouveau pour moi)

RE

Rx est le titre de la colonne si tu regardes la copie d'écran de Hier à 16:39

Oui en effet, je pense que je vais partir sur quelque chose de semblable,

Comment je peux convertir mon tableau dans un style pareil sur PowerQuerty ? Parce que j'ai lancé PowerQuerty, mais j'arrive sur une interface assez bizarre, et quand j'arrive sur internet c'est de la programmation ?

Ou alors est-ce que tu pourrais me transmettre le fichier, et me dire comment l'adapter pour l'ajout de futur essais ? (changement de couleurs/ajout de dates/ essais/ mise en forme...) s'il te plait

D'ailleurs je te remercie pour l'aide et ton avis sur mon sujet.

Tu as été d'une très grande (et précieuse) aide ! 😊

RE

Il n'y a rien de très compliqué dans la partie PowerQuery

J'ai

  • copié une fonction pour le calcul des semaines iSO
  • mis ton tableau Recap essais sous forme de tableau structuré (cela fait plus de17 ans qu'on les utilise notamment pour justement que tout s'adapte de façon transparente à l'ajout de lignes), l'ai renommé Essais puis basculé d'un clic dans PowerQuery où je l'ai essentiellement décroisé
  • créé un calendrier partant de la date minimum à la date maximum du tableau Essais : cela se fait essentiellement en ajoutant des colonnes avec les options du ruban ou des formules
  • puis croisé le calendrier avec Essais pour remplir les jours où il y a des essais, ajouté une indexation aux cas où 2 essais de même Répétabilité auraient lieu à une même date, puis pivoté les Répétabilité

Le reste est fait par MFC sur le tableau résultant

Il suffit d'utiliser Données, Actiualiser tout quand le tableau Essais change.

Le B A BA de PowerQuery ici http://www.excel-formations.fr/Trucs_astuces/PQ00.php

On ne tape quasi jamais de code, juste les formules : le ruban et le clic droit offrent 95% des fonctionnalités.

Pour chaque requête tu vois les étapes à droite dans l'interface PowerQuery

Bonjour,

Désolé du retour un peu tardif, merci pour ton fichier, il est vraiment très bien !

J'ai pas tous compris aux explications pour le réaliser, mais ça doit être normal, enfin bon :

Je me suis amusé avec le fichier, et j'ai essayé plusieurs combinaison jusqu'à ce que je bloque sur un problème.

Quand imaginons je mets deux essais le même jour, le calendrier va comprendre que c'est deux jours différents et va donc les mettre superposer.

Il dédouble la date au lieu de mettre la cellule à coté de l'autre... (photos et ci-joint)

image image

Et j'aurais une autre question,

Que je veuille ajouter un essai C, dans le calendrier il me met toujours 'essai B', comment pourrions-nous dire qu'il mette le bon nom par rapport à la date, ou les incrémenter directement ?

Merci :) Bonne journée

Bonjour

C'est ce que j'expliquais là :

...puis croisé le calendrier avec Essais pour remplir les jours où il y a des essais, ajouté une indexation aux cas où 2 essais de même Répétabilité auraient lieu à une même date, puis pivoté les Répétabilité

Si ce n'est pas même Répétabilité pour un même nom d'essai il aurait du effectivement aller dans la colonne d'à côté et non en dessous. Je vais vérifier.

Mais s'il y a plusieurs essais de même répétabilité à une même date, il y aura 2 lignes

Que je veuille ajouter un essai C, dans le calendrier il me met toujours 'essai B'

Je ne constate pas cela.

Peux-tu envoyer l'exemple.

Re,

Si ce n'est pas même Répétabilité pour un même nom d'essai il aurait du effectivement aller dans la colonne d'à côté et non en dessous. Je vais vérifier.

Mais s'il y a plusieurs essais de même répétabilité à une même date, il y aura 2 lignes

Alors non c'est bien avec deux répétabilités différentes mais le même nom de l'essai, j'ai remarqué que même si l'essai est différent cela le faisait aussi : (ici R3 de l'essai A / R1 & R2 de l'essai B)

Normalement ça n'arrivera pas mais imaginons, que ce problème est résolu, et que le R2 de l'essai A et de l'essai B tombe le même jour, comment sera l'affichage ?

image image

Je ne constate pas cela.

Ah oui non en effet, c'était une erreur d'actualisation,

Mais par contre il ne met pas de mise en forme de cellule, la cellule reste elle blanche ? Il faut que pour chaque essai, je fasse des MFC ?

Ou c'est dans les paramètres de PowerQuerty ?

Si tu veux quand même le fichier avec les modifications, je peux te le joindre

Merci

RE

J'ai vérifié et effectivement il y avait un souci

On peux soit garder le dédoublement de lignes soit ajouter une colonne R_01 ou R_02 ... selon le doublon pour ne pas démultiplier les dates.

Autre souci, dans la mesure où des dates s'ajoutent la MFC se démultiplie. C'est un problème connu sur les tableaux dans Excel

Pour éviter cela on peut ajouter une petit code VBA pour refaire les MFC, soit à chaque actualisation, soit à l'ouverture ou à la fermeture du fichier.

Bonjour,

On peux soit garder le dédoublement de lignes soit ajouter une colonne R_01 ou R_02 ... selon le doublon pour ne pas démultiplier les dates.

Tu veux dire qu'il faut rajouter à R1 / R2 / R3 des colonnes R_01 / R_02... pour éviter d'avoir le soucis de dédoublement de dates ?

Autre souci, dans la mesure où des dates s'ajoutent la MFC se démultiplie. C'est un problème connu sur les tableaux dans Excel

Pour éviter cela on peut ajouter une petit code VBA pour refaire les MFC, soit à chaque actualisation, soit à l'ouverture ou à la fermeture du fichier.

Le fichier dépasse mes compétences en programmation et en technique sur Excel ahahah

Et pour ce qui de la question de la MFC des nouveaux essais, il faut passer aussi par VBA ?

Merci

RE

Les colonnes s'ajouteront automatiquement en cas de doublons (si on choisit cette option)

Que ce soit de nouveaux essais ou de nouvelles dates, le code doit gérer la MFC une fois pour toutes donc pas de maintenance (on prévoit 10, 20 ou 50 colonnes et on est tranquille)

Bonjour,

D'accord, je vois, tu aurais ce petit code VBA, et me dire où est-ce qu'elle doit se mettre ?

Ou le nouveau fichier avec la modification ?

Et honnêtement, le fichier fera à terme bien plus de 50 lignes, il faudrait en prévoir, oui 150/200 pour commencer, et après comment pourrais-je le modifier simplement ? Juste en ajoutant une ligne par dessous, ou il faudra passer par le codage VBA ?

Merci

Rechercher des sujets similaires à "developpement mise forme conditionnels"