Remplissage d'une plage de cellule selon texte autre cellule

Bonjour,

Comme le dit mon titre, je cherche à comprendre comment je peux faire pour remplir une plage de cellules automatiquement en fonction du texte contenu dans une autre cellule. Dans mon cas, il s'agit d'un planning, qui comporte donc un texte (les horaires), et à la verticale toutes les tranches horaires demie heure par demie heure de 00h00 à 00h00. Je voudrais que dans le cas où on ait (par exemple) "8h30/18h" dans la cellule du haut, que les cellules du dessous entre 8h30 et 18h se remplissent d'un "x". J'y arrive très bien dans ce cas précis (avec ça : =SI(ESTERREUR(TROUVE("8h30/18h";$I$2));"";"x"), mais j'ai plusieurs créneaux horaires différents, et donc le remplissage n'est pas le même.

Je crois que j'ai besoin d'imbriqué tous mes créneaux horaires, peut-être avec une lettre différente selon les créneaux ? Le problème est que quand j'essaie ça : =SI(ESTERREUR(TROUVE("8h30/16h";D$2));"";"x";+SI(ESTERREUR(TROUVE("8h30/16h30";D$2));"";"x";+SI(ESTERREUR(TROUVE("8h30/17h30";D$2));"";"x";+SI(ESTERREUR(TROUVE("8h30/18h";D$2));"";"x")

Et bien ça ne marche pas...

Et pour ceux qui ont suivi, et qui veulent bien m'aider, voici mon tableau (épuré), je n'ai gardé que 1 journée, avec 6 employés différents.

Merci d'avance

81planning2014.xlsx (271.60 Ko)

Bonjour

Formule en C12 à incrémenter sur le reste du tableau

=SI(C$2="congés";"";SI(ET(CNUM(SUBSTITUE(STXT($B12;1;CHERCHE("/";$B12;1)-1);"h";":"))>=CNUM(SUBSTITUE(STXT(C$2;1;CHERCHE("/";C$2;1)-1);"h";":"));CNUM(SUBSTITUE(STXT($B12;CHERCHE("/";$B12;1)+1;NBCAR($B12));"h";":"))<=CNUM(SUBSTITUE(STXT(C$2;CHERCHE("/";C$2;1)+1;NBCAR(C$2));"h";":")));"x";""))

bien sur comme tes listes déroulantes sont désactivées, il n'est pas possible de deviner s'il y a d'autres données que congés.

Tu nous diras.

Note qu'il a été nécessaire de corriger les horaires de la colonne B pour les faire correspondre avec ceux de la ligne 2

cordialement

110planning2014.xlsx (270.46 Ko)

Bonsoir et merci Amadeus !

En fait les listes de mes menus déroulants sont restées sur le classeur d'origine, je n'ai pas pensé à l'inclure, désolé. Il s'agit de créneaux horaires (8h30/15h30, 8h30/16h etc. pour les employés de jour, et 15h30/24h, 16h/24h etc. pour ceux du soir), et la même chose avec la mention "INFO" pour 1 seul employé (qui a une liste d'horaires possibles 2 fois plus longue, ça n'est pas un menu en cascade, mais j'aurai pu le faire du coup peut-être...)

Là j'ai les yeux qui piquent un peu, mais demain je prends le temps de bien regarder tout ça et je te fais un retour.

En tous cas, chapeau bas !

Je pense que je vais me servir de ta formule plutôt que de ma recette artisanale !

Je vais juste devoir changer les "x" en "y" pour les employés du soir, et il va me rester un souci : j'ai besoin de distinguer certaines horaires qui portent une mention spéciale "INFO". Le but de ce fichier est évidemment de recenser les ressources humaines 1/2 heure par 1/2 heure sur la journée, mais parfois, selon la nature de mon activité, on considère que certains employés sont dédiés à 100% à leur poste, sauf lorsqu'il y a un mention spéciale justement. Dans ce cas on ne le compte pas du tout sur le classeur final, qui fait la synthèse de tout cela sous la forme d'une colonne de 24 lignes (1 par heure).

Demain je posterai le classeur complet, avec les listes pour les menus et l'onglet synthèse, pour que tu voies de quoi je parle un peu plus concrètement.

Merci encore pour cette réponse super rapide et efficace !

Et bonne fin de soirée.

Olivier

Bonjour Amadeus (et tous les autres lecteurs !),

Je reviens vers vous au sujet de ce fichier Excel qui continue à me poser quelques soucis, malgré l'avancée prodigieuse faite grâce à cette formule donnée hier.

En effet, j'ai des cas de figure pour lesquels la formule ne fonctionne pas telle quelle, et je ne suis pas du tout assez fort pour la corriger tout seul.

1-Je voudrais que les horaires entre 8h30 et 18h soient marqués "x" et que les autres (15h30/24h et suivants) soient marqués "y", et je ne sais pas imbriquer un "OU" avec le "SI".

mon essai =>

=SI(OU(C$2="congés";"";SI(ET(CNUM(SUBSTITUE(STXT($B12;1;CHERCHE("/";$B12;1)-1);"h";":"))>=CNUM(SUBSTITUE(STXT(C$2;1;CHERCHE("/";C$2;1)-1);"h";":"));CNUM(SUBSTITUE(STXT($B12;CHERCHE("/";$B12;1)+1;NBCAR($B12));"h";":"))<=CNUM(SUBSTITUE(STXT(C$2;CHERCHE("/";C$2;1)+1;NBCAR(C$2));"h";":")));"x";"");SI(C$2="congés";"");SI(ET(CNUM(SUBSTITUE(STXT($B12;1;CHERCHE("/";$B12;1)-1);"h";":"))>=CNUM(SUBSTITUE(STXT(C$2;1;CHERCHE("/";C$2;1)-1);"h";":"));CNUM(SUBSTITUE(STXT($B12;CHERCHE("/";$B12;1)+1;NBCAR($B12));"h";":"))<=CNUM(SUBSTITUE(STXT(C$2;CHERCHE("/";C$2;1)+1;NBCAR(C$2));"h";":")));"y";"")))

2-Un des employés peut être présent mais ne pas être pris en compte pour la moyenne des employés du jour (ou du soir), cela en fonction d'une mention spéciale "INFO" (ou dans d'autres cas "REUNION") Je ne sais pas comment modifier la formule pour parvenir à ce résultat (que j'ai mis en exemple dans la colonne M). Pour le moment j'ai une erreur "#VALEUR!" dans ces cellules.

Peut-être que ça serait plus facile si je changeais la liste des horaires pour mettre "INFO" ou "REUNION" à la fin ou au début ? Parce que je dois quand même pouvoir comptabiliser ces heures là à un autre endroit, donc j'ai besoin aussi d'avoir une lettre (i) pour ces horaires-là en particulier.

J'ai tenté de remplacer le "/" par "INFO", ça ne fonctionne pas. Mais je me dis que c'est parce que le n°_départ n'est pas bon ou quelque chose comme ça.

Merci et à bientôt !

Bonjour

Je voudrais que les horaires entre 8h30 et 18h soient marqués "x" et que les autres (15h30/24h et suivants) soient marqués "y"

Selon ton énoncé, 15h30 à 18h est à la fois marqué x et y ?

Cordialement

Bonjour Amadéus,

En fait ce que je voudrais, c'est que tous les horaires qui finissent à ou avant 18h soient marqués "j", et que tous ceux qui finissent entre 18h et 24h soient marqués "s".

J'essaie de faire mon autodidacte, mais purée c'est pas si simple !

Cordialement,

Bonjour

Regarde si cela convient

Cordialement

C'est une bonne solution Amadéus, merci. Mais ça n'est pas encore tout à fait parfait pour moi.

1-mon problème d'horaires du jour et du soir ("j" ou "s") n'a pas encore trouvé de solution (mais est-ce possible avec mes critères...?).

Pour rappel je voudrais que dans la même formule je puisse trouver "j" ou "s" selon la tranche horaire. Peut-être que je dois faire des catégories au préalable (en rajoutant une colonne dans mes listes pour classifier les horaires "j" et "n") ?

2-le souci avec la colonne "INFO", c'est que ça me rajoute une colonne et que j'aurai inclure la mention "INFO" à mon menu déroulant d'horaire (sous le nom des employés). Mais ça n'est pas incontournable, je peux juste rajouter cette colonne à côté de celle de l'employé (moi).

Je ne sais pas comment te remercier pour ton temps passé à m'aider, alors pour le moment je te dis déjà un grand merci !

Bonjour

Un coup x et y, un coup j et s, maintenant apparait un n.

Je renonce

Change les lettres dans la formule

Cordialement

Je suis désolé je me suis très mal exprimé...je mets ça sur le compte de l'émotion...

Je vais changer les lettres dans la formule, merci beaucoup.

Je vais surtout refaire un sujet avec pour but de trouver comment imbriquer 2 formules similaires à ce que tu m'as proposé.

Désolé si je t'ai énervé, ça n'était évidemment pas le but.

Encore merci !

Edit : je viens de voir le changement de la fin de la formule pour que cela change de lettre selon l'heure !!! C'est génial, merci !!

Rechercher des sujets similaires à "remplissage plage texte"