Comment récupérer une valeur selon 2 critères

Résolu
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 - Modifié le 6 sept. 2024 à 15:48
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 - 12 sept. 2024 à 14:25

Bonjour,

Je souhaite faire un planning sous excel car il me semble le plus adapté à mon besoin mais je ne le maîtrise pas.

Voici pour résumer ce dont j'ai besoin et ce que j'imagine.

Pour plusieurs salariés, il y a des "lieux". Chaque salarié est affecté à un lieu par jour.

Pour chaque lieux il y a un nombre d'heures prédéfini, en sachant que du lundi au vendredi c'est le même nombre d'heures (hh:mm) et le samedi est souvent différent 

Par exemple 

Lieu A : du lundi au vendredi --> 5h15

Samedi --> 3h30

Lieu B : du lundi au vendredi --> 4h30

Samedi --> 1h25

Etc

J'imagine une feuille avec les paramètres avec une colonne par lieu et première ligne le nb d'heures semaine et seconde ligne les heures samedi 

Puis une feuille "mois" avec 2 colonnes : une pour le numéro de jour (1 à 31 donc 31 lignes) et la seconde avec le jour de la semaine ("l", "m", etc). Pour plus de simplicité on peut laisser les dimanches.

Un nouveau classeur sera créé pour chaque mois j'imagine que c'est aussi plus simple.

Enfin une feuille par salarié qui reprend les données de la feuille mois pré établie

Jusque là ça va.

Là où je m'interroge c'est pour chaque feuille salarié on aura donc 31 lignes avec la première qui sera forcément "1" et un "l" ou "m" etc en seconde colonne 

Je souhaite pour chaque ligne avoir une zone de liste pour choisir un lieu (présent donc dans la feuille paramètres).

Et qu'au choix j'aille récupérer dans la feuille paramètres les heures correspondant au lieu mais surtout au jour de la semaine.

La langue française nous aide un peu car j'imagine une formule "si différent de 's' alors c'est ça sinon c'est l'autre"

La je bloque.

Ah oui le nombre de lieux n' est pas fixé (5 ou 6 ou plus) ni le nombre de salariés (4 ou plus)

J'espère avoir été clair 

Merci 

25 réponses

yclik Messages postés 3663 Date d'inscription vendredi 25 juillet 2014 Statut Membre Dernière intervention 10 septembre 2024 1 504
6 sept. 2024 à 15:56

Bonjour

une exemple de classeur dépersonnalisé serait utile

1) Aller dans https://www.cjoint.com
2) Cliquer sur [Parcourir] pour selectionner le fichier (15 Mo maxi)
3) Aller vers le bas pour cliquer sur le bouton bleu [Creer le lien Cjoint]
4) Au bout de quelques secondes la seconde page s'affiche, avec le lien en gras ; faire un clic-droit dessus et choisir Copier le lien
5) Revenir dans la discussion sur CCM, et dans votre message faire Coller.

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
6 sept. 2024 à 16:03

Bonjour,

Jamais facile de "réfléchir" sans un modèle du fichier que tu as élaboré.

Mais pourquoi cette histoire de numéros de jour et de jour de la semaine?

Si je fais une seule colonne représentant le planning au format date même courte de tous les jours du mois (sauf dimanches et fériés si je veux les exclure) je peux en extraire tout, numéro et jour de la semaine.

Sur le principe, il suffit alors de faire une RECHERCHEH sur la valeur de Liste assortie d'une condition SI reposant sur JOURSEM de la cellule date et aiguillant vers un index différent de RECHERCHEV selon la valeur de JOURSEM.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
6 sept. 2024 à 16:10

Je n' ai pas encore élaboré le fichier je voulais justement avoir des avis avant de me lancer 

Ok va pour le jour du mois 

Je fais un fichier vite fait et je le joins ici 

Merci pour les réponses rapides déjà !

Je reviens dans QQ minutes 

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
6 sept. 2024 à 16:26

Les jours fériés, c'est plus sophistiqué, il faut une deuxième feuille avec leur liste.

Faire une colonne mensuelle en zappant les dimanches, c'est simple, j'écris le mois littéral (septembre) en A1 en A2 =SERIE.JOUR.OUVRE.INTL(DATEVAL("1"&A1)-1;1;"0000001")

et je tire vers le bas.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024
6 sept. 2024 à 16:37

On ne va pas se faire c... avec ça, si on ne choisis pas de valeur c'est que c'est pas travaillé

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
6 sept. 2024 à 16:38

Alors voici une ébauche en espérant que c'est complet

https://www.cjoint.com/c/NIgoJn5MdU6

Merci !!!

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
6 sept. 2024 à 16:59

Tu n'as pas raison pour le calendrier, c'est plus facile de le "mathématiser" et ça évite de créer une feuille dédiée, mais chacun son choix.

Je te laisse te débrouiller avec la liste déroulante, j'y suis allergique.

En l'état actuel du nombre de lieux, écrire en C3  de chaque salarié (où on a supprimé les lignes 1 à 3):

=SI(JOURSEM(A1;2)<=5;RECHERCHEH(B1;parametres!$B$1:$E$3;2);SI(JOURSEM(A1;2)=6;RECHERCHEH(B1;parametres!$B$1:$E$3;3);""))

et tirer vers le bas.

La réponse est #N/A si B est vide, on peut aussi peaufiner pour en éviter l'affichage.

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
Modifié le 6 sept. 2024 à 17:58

Merci

Et pour la zone de liste justement, je ne sais vraiment pas combien j'aurais de colonnes dans la feuille paramètres, alors je prends une dizaine, mais du coup j'ai des lignes blanches dans la zone.

J'ai coché "ignorer valeurs vides" mais c'est pareil 

C'est pas indispensable mais c'est pas très propre 

Le reste semble coller parfaitement.

A part que j'ai du préjuger de mes capacités avec Excel, pour faire la synthèse dans une feuille des jours par ligne et salarié en colonne avec en valeur 1 colonne Lieu et une Heure, je suis pas capable.

J'imagine analyse croisée mais je ne sais pas faire avec les zones de liste et les entêtes de colonne surtout que le nombre de feuilles salarié n'est pas connu donc pas possible de savoir ce que l'on va avoir 

Merci.

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
6 sept. 2024 à 18:20

Pour la liste, il suffit d'étendre en fonction du besoin $B$1:$E$3 à $F$4 ou 5....

Cela n'affecte pas le résultat puisque la formule ne cherche que LIEU A, B....

Que faut-il qu'il y ait en synthèse?

S'il s'agit de connaître les postes et les heures de chaque personne, on peut peut-être se contenter seulement d'une feuille de synthèse, et pas d'une par salarié:


En C3 dans la formule initiale, on a remplacé A3 par $A3 et le "" terminal par 0:

=SI(JOURSEM($A3;2)<=5;RECHERCHEH(B3;parametres!$B$1:$E$3;2);SI(JOURSEM($A3;2)=6;RECHERCHEH(B3;parametres!$B$1:$E$3;3);0))

Je tire à nouveau vers le bas et je fais un copier-coller colonne E.

On ne peut pas cumuler des durées qui sont en fait des valeurs de temps, je suppose que 04:15 vaut 4h et quart, en F3  j'écris =SI(E3>0;E3*24;0) et je tire vers le bas, la valeur décimale est bien 4,25 h et je fais la somme en F15 (celle de tout le mois ne serait pas lisible à l'écran).

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
6 sept. 2024 à 18:59

Alors je commence par les cumuls de chaque mois,

j'ai ca et ca cumule bien mes hh:mm :

=somme(-----) en format [h] :mm ;@

et si j'ai 01h30 et 01h45 ca me calcule bien 03h15

Pour la synthése, peut être que mon analyse de départ n'est pas optimale pour avoir, outre ce que vous m'avez déjà montré pour récupérer le temps, une feuille qui serait comme cela

https://www.cjoint.com/c/NIgq7ADsLs6

Merci

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
6 sept. 2024 à 20:49

Cela semble correspondre à l'image que j'ai mise en <9>.

Maintenant, soit on se contente de cette feuille globale comme je l'ai fait, soit on préfère maintenir une feuille par salarié; ça ne change pas grand-chose sinon qu'au lieu de mettre les formules dans la feuille de synthèse on mettra les références aux cellules de chaque feuille.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024
6 sept. 2024 à 21:03

La feuille par salarié est importante

La synthèse aussi 

Je regarde comment tu as fait ça demain 

Merci 

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344 > RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024
7 sept. 2024 à 09:10

Si j'ai bien compris:

https://www.cjoint.com/c/NIhg4w3nEPF

Pour créer une nouvelle feuille salarié on se contente de copier la précédente, de la renommer, de changer le nom en B1 et les lieux colonne B.

La feuille Synthèse a déjà été évoquée et rassemble l'individuel et la synthèse.

Si je veux les isoler, Synthèse (2).

Il faut qu'il y ait un nom de salarié et donc la feuille correspondante en B1, D1...sous peine d'erreur, à l'idéal mettre la même liste déroulante de tous les salariés dans ces cellules.

Pour mettre le nouveau salarié Dugenou, je fais donc une copie de la feuille précédente Tartempion que je modifie comme indiqué; je mets Dugenou en F1 de Synthèse (2) et je fais un copier-coller de D2 à E32 en F2 à G32.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
Modifié le 7 sept. 2024 à 14:47

Merci beaucoup !

J'essaie de modifier avec des zones de liste pour voir et reviens ici.

Par contre, je ne vois pas trop la différence entre Synthese et Synthese(2).

A+

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
7 sept. 2024 à 15:06

Je viens de faire un test, et une chose que j'ai mal faite ne fonctionne pas.

J'ai ajouté un lieu, et j'ai modifié donc les formules (que dans la feuille Duchmoll1), mais la valeur retournée n'est pas celle attendue :

Pour par exemple le 02/09 si on choisis VALLONS dans le lieu, cela me met le nb d'heures du nouveau lieu créé BLKA et d'autres lieux aussi ont le souci.

https://www.cjoint.com/c/NIhngDbZZi6

Merci

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
Modifié le 7 sept. 2024 à 15:24

Je ne connais pas du tout les fonctions de recherche 

Mais il est sûrement important de préciser que si ça recherche la première occurrence et retourne une valeur ça peut mettre le boxon car j' aurais des lieux avec le même nom enfin deux fois. Par exemple je peux avoir "lieu1", "lieu2", "lieu3" et "lieu1 et 2", "lieu3 et 1", etc.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024
Modifié le 7 sept. 2024 à 16:04

J' ai cherché dans l'aide M$ la fonction rechercheH

Bon la traduction n'est pas top lol

En rajoutant le paramètre Faux en fin (recherche exacte) cela semble corriger le bug.

Par contre la synthèse je ne comprends pas comment ça va rechercher les valeurs puisque ça ne fonctionne plus 

Je cherche... et vais j'espère finir par trouver 

A+

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024
7 sept. 2024 à 16:17

J'ai regardé la fonction INDIRECT mais là je sèche 

Je ne sais pas du tout comment elle est utilisée dans ton exemple.

Je suis là dans la m.....

J'ai aussi remarqué qu'il n'y a pas de formule dans la feuille Synthese.

Sérieusement, j'aimerais bien comprendre pour le modifier.

Merci pour l'aide.

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344 > RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024
7 sept. 2024 à 16:27

La feuille synthèse ne ramène les résultats en heures qu'à partir d'elle-même, synthèse 2 à partir de la feuille de chaque salarié.

Pour corriger j'ai ajouter FAUX à la première formule de recherche de chaque salarié en C2 et tiré vers le bas (sauf le total), ce qui interdit à la fonction RECHERCHEH de retourner une valeur proche, je te laisse tester.

RECHERCHEH va chercher et retourner la première valeur trouvée du lieu dans la ligne 1 de parametres et ne peut donc échouer que si le même lieu y est présent deux fois.

J'ai du mal à suivre ta logique de lieux multiples, si tant est qu'un salarié puisse être amené à travailler sur 2 sites différents la même journée, peu nous chaut le temps sur chaque, seulement le temps global?

Quand bien même ferait-on des pirouettes pour essayer de rechercher une partie du nom qu'on ne rendra que le temps total de la journée sur cette partie, que deviendra une recherche sur l'autre alors qu'il n'y a qu'une cellule?

Ne convient-il pas alors d'ajouter à la liste déroulante (et à parametres) un item
LIEU 1 LIEU2 avec le temps global imparti en pareil cas de figure?

https://www.cjoint.com/c/NIhoAyR6a3F
 

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
7 sept. 2024 à 16:43

Alors pour la feuille synthese, je ne sais pas comment les valeurs de la colonne B (les lieux) sont trouvées, je ne vois aucune formule.

D'ailleurs  ça ne fonctionne pas dans ton fichier pour Duchmoll

Même pour le reste, il m'affiche encore des lieux pourtant renommés depuis.

Pour le faux dans la fonction RECHERCHEH j'avais modifié de moi meme

Pour les lieux multiples, je me suis certainement mal expliqué, mais le param FAUX de la fonction RECHERCHEH empêche alors des erreurs.

C'est exactement ce que je souhaite faire, la combinaison de 2 lieux en 1 seul (lieu 1 et 3), ne sera pas nécessairement le cumul de lieu 1 et lieu 3 en terme d'heures.

Mais la création d'un lieu "lieu1 et 3" avec son propre nombre d'heures, et grace au paramètre FAUX rend ce point de la discussion caduque.

Mais pour le reste, je bloque si je rajoute des lieux et/ou des salariés, ça ne fonctionne pas même en modifiant les formules.

Merci

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
7 sept. 2024 à 17:13

Je ne comprends toujours pas ton histoire de LIEU1 LIEU3.

En l'état actuel de la structure, je n'ai qu'une cellule pour appeler le lieu, et aussi qu'une pour rendre le résultat: si je crée un lieu LIEU1 LIEU3 avec sa valeur horaire propre, il sera accessible par RECHERCHEH qui va en principe chercher le nom exact; par contre en supposant que je bricole une formule pour chercher les horaires de LIEU1 et de LIEU3, j'ai nulle part où les rendre ensemble.

Je répète que la feuille synthèse ne retourne que ce qu'on a mis manuellement dans les colonnes B et D sans jamais faire appel aux feuilles des salariés: autrement exprimé, si tu ne t'en sers pas, tu la supprimes.

Pour autant que mes yeux d'occasion me permettent d'en juger, la feuille synthese 2 fonctionne par contre parfaitement.

Comme je l'ai exposé précédemment, si je rajoute un lieu en H, il me suffit de rentrer en C2 dans la feuille du premier $B$1:$H$3 au lieu de $G$3, de tirer vers le bas, de copier cette colonne sur celle des autres salariés.

Rien ne m'interdit d'ailleurs de prendre les devants une fois pour toutes et de mettre par exemple $T$3: si les cellules correspondantes sont vides dans les paramètres, elles ne sont pas appelées tant que n'existe pas le lieu correspondant.

Comme je l'ai aussi exposé, la feuille est exactement la même pour chaque salarié à part son nom et le nom du salarié en B1: il me suffit donc de sélectionner la feuille correspondant au dernier salarié, clic droit, déplacer ou copier, faire une copie, en dernier et de changer B1 et renommer cette feuille.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
Modifié le 7 sept. 2024 à 17:27

Alors LIEU 1 ET 3 je te dis que c'était juste une remarque/question sur la fonction RECHERCHEH, le lieu sera créé indépendamment des 2 autres

Pour moi ce point est clos.

Pour la feuille synthese, je n'arrive pas à comprendre (j'aime bien comprendre), comment les valeurs peuvent être retournées puisque les lignes des colonnes B et D ne comportent rien, pas de formule, nada. 

Je ne vois pas où cette colonne va chercher quelconque information où que ce soit.

Genre ces colonnes sont vierges comme un fichier excel tout nouvellement créé.

Ou alors nous n'avons pas la même version du fichier ???

Je te rejoints le fichier, j'ai modifié un nom et rajouté un lieu, mais cela ne fonctionne pas.

Merci encore pour la patience.

La fonction INDIRECT ne fonctionne pas, ou vu que je ne la comprends pas il faut modifier, mais je suis à sec d'idées.

https://www.cjoint.com/c/NIhpzqeKPo6

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
Modifié le 7 sept. 2024 à 17:41

Je pense que j'ai "compris"

La recopie incrémentée (vers le bas) ne fonctionne pas dans la feuille Synthese(2)

Il me laisse 

=INDIRECT("'" & B$1 & "'!B2")

dans chaque ligne !

Incrémenté ou c/c ca me laisse cette fonction en "dur" pour chaque ligne

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
7 sept. 2024 à 17:39

Je répète encore, sauf si tu y mets une liste déroulante comme dans la colonne B de Duchmoll, les valeurs de lieu sont entrées au kilomètre en tapant le nom dans la colonne E de synthèse ou la colonne B de Tartempion, la feuille synthèse n'est que la feuille synthèse 2 mais en saisie libre sans liste déroulante.

Ces valeurs LIEU N n'existent pas dans parametres puisque tu ne les y a pas entrées, et comme tu n'as pas précisé FAUX dans RECHERCHEH, il rentre chez sa mère en cherchant n'importe quoi d'approximatif, probablement la première valeur alphabétique qu'il lit (AIN), l'index 2 qui est spécifié obéit et retourne 01:23

Utilise synthèse 2 sauf si tu as une bonne raison de saisir le lieux au kilomètre.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024
Modifié le 7 sept. 2024 à 17:56

La liste déroulante fonctionne.

Pour la feuille Synrthese, s'il faut entrer à la main, je l'oublie, je voulais un TCD.

Synthese 2 fonctionne, voire + bas.

Les valeurs LIEU N existent dans les fichiers que j'ai joints, je ne comprends pas trop la remarque.

J'ai modifié les lieux et ai ajouté un salarié.

Je pense que tu n'ouvres pas le bon fichier ???

J'ai vu je pense le problème comme dit plus haut :

La recopie incrémentée de synthese (2) ne fonctionne pas sur la colonne B. Je suis obligé de me taper chaque ligne pour avoir :

=INDIRECT("'" & B$1 & "'!B2")

=INDIRECT("'" & B$1 & "'!B3") // la copie me laisse B2

On dirait idem pour les autres colonnes !

Un souci de paramètre sur mon excel  ???

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344 > RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024
7 sept. 2024 à 18:29

J'ai ouvert le dernier que tu as mis en ligne, 17:26.

Il n'y a pas textuellement de LIEU A, B...dans les paramètres et pas formellement de nouveau salarié, tu as renommé Duchmoll en Duchmoll1.

Il n'y en en effet aucun moyen d'incrémenter la syntaxe '"!B2", j'ai mis la formule en B2 de synthèse 2, tiré vers la bas et modifié le chiffre à chaque ligne.

Par contre pour créer Tartempion dans synthèse 2, je me suis contenté de copier-coller les colonnes B et C en D et E, B$1 devient D$1 et de changer le nom en D1, ainsi de suite pour d'autres salariés.

Maintenant que tu as tout écrasé en B2 dans la colonne B, soit tu corriges chaque numéro à la main soit, plus vite fait, tu fais l'inverse: tu copies-colles D et E en B et C et tu changes le nom B1.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024
7 sept. 2024 à 18:39

Je suis en train de mettre en place un fichier plus représentatif, ce que j'avais anonymisé donc réduit.
je regarde ça mais je n'ai pas envie de mettre en public.
Merci

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
Modifié le 7 sept. 2024 à 18:17

Alors, j'ai mis 1 et 2 dans une colonne au hasard pour tester.

La copie incrémentée fonctionne

Donc pas un problème excel.

Je ne vois pas

Voici les options, mais ca fonctionne pour une colonne basique (1/2/3 etc).

https://www.cjoint.com/c/NIhqqVFScy6

Merci

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
7 sept. 2024 à 19:40

J'ai compris -enfin à moitié- le fonctionnement,

Ce qui est emmerdant c'est que la copie incrémentielle ne fonctionne pas

J'ai réussi à reproduire les formules, mais c'est chronophage, alors je ne suis pas certain de l'intérêt

Merci en tous cas

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
7 sept. 2024 à 20:38

L'incrémentation marche évidemment dans Excel, mais pas dans la syntaxe '"!B2"; tu n'as de toute façon pas à t'en préoccuper, tu obtiendras le résultat par copie des colonnes entières, voir plus loin.

Dans ton fichier en <40>

-Tu as modifié dans synthèse où il ne fallait pas: quel que soit le salarié, seule la première lettre après INDIRECT varie, et d'ailleurs automatiquement comme suit.
Je crée la feuille Hervé qui n'existe pas encore en synthese, je me contente dans synthèse où les lignes D et E sont vierges à partir de la deuxième ligne de copier les cellules B et C correspondantes, ainsi de suite pour chaque salarié.
Tu n'as pas à modifier B et C en fin de formule en C et D, ce sont les colonnes de la feuille salarié correspondante, qui ne varient pas.
Tu n'as pas non plus à te soucier de l'incrémentation, j'ai fait le boulot à ta place, la simple copie des colonnes B et C en D et E va la préserver.

-à partir d'Etienne, on a la copie d'un ancien onglet avec des lieux qui n'existent plus dans paramètres et sans liste déroulante; à nouveau et en supposant que seules les feuilles jusqu'à Laurent existent, se placer sur la feuille Laurent, clic droit, copier, faire une copie, en dernier: ne reste plus qu'à renommer Laurent (1) en Etienne et sa cellule B1 en Etienne, tout y est sauf bien sûr les lieux de la liste déroulante en B qui ne sont pas forcément les mêmes que ceux de Laurent, je copie Etienne que je renomme Jean Michel et ainsi de suite.

-En ne mettant pas FAUX à RECHERCHEH, tu continues à t'exposer à des résultats aberrants.
 

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024
Modifié le 7 sept. 2024 à 21:23

Je te remercie je ne suis plus devant 

Mais j' ai mis FAUX justement dans les formules, j' aime bien comprendre ce que je fais et je pense que l'aide même si franglishe, m'a aidé (quoique, au moins je préfère SQL c'est de l'anglais dans l'aide, là c'est de la traduction pas compréhensible, les langues sont mélangées)

Pour la copie des feuilles, idem c'est pigé normalement.

Et j' ai bien assimilé le nom de la feuille avec l'entête dans la feuille synthése.

Je suis MVP mais en database (dB admin) surtout SQL server et Access Je pensais faire ça en Access mais c'est pas très adapté, je pense que Excel c'est mieux pour ce truc.

J' ai donc je pense des "bases" mais les formules excel je ne maîtrise pas (chacun son métier) et même avec des aides Microsoft  (traduites de façon incompréhensible)  j''ai du mal.

Le problème c'est que ce fichier excel sera utilisé par un néophyte, c'est pour ça que je veux un truc presque clés en main 

Je ne suis pas doué excel (tu l'as vu) mais la personne qui va saisir ne pourra pas modifier des formules etc.

Pour ça que je veux vraiment aller au plus simple, d'où l'utilisation de zones de liste plutôt que de la saisie. Je souhaite un truc Friendly usefull avec le moins de manipulations à faire chaque mois.

Mais en tous cas je progresse grâce à toi et je te remercie encore pour le temps passé.

Je regarde ça à tête reposée demain 

Merci à toi

Belle soirée 

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344 > RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024
8 sept. 2024 à 08:16

Si tu ne comprends pas le rôle d'une formule, tu demandes, je commenterai en gaulois (ou en anglais si tu préfères, mais pas entre les deux).

D'expérience, c'est très difficile d'empêcher des gens de faire n'importe quoi.

Dans le cas qui nous intéresse, on peut réduire les risques en limitant les manipulations sensibles.

On peut par exemple créer quelques lieux bidon si un besoin ultérieur s'en faisait sentir et de même quelques feuilles salarié bidon s'il devait y en avoir de nouveaux et les pré-intégrer dans la synthèse.

Dans ces conditions, je réitère l'idée d'un calendrier automatique; on va verrouiller toutes les cellules sauf la première du calendrier mensuel assortie d'un commentaire expliquant comment la saisir, la première ligne des paramètres (modification d'un nom bidon), la cellule B1 de la feuille de chaque salarié (même commentaire), et la liste déroulante en B de chaque feuille salarié.

On peut même pousser le vice à automatiser le nom du salarié en B1 en fonction de celui de la feuille, écrire en B1 (et où A1 décrit n'importe quelle cellule de la feuille sans importance):

=DROITE(CELLULE("nomfichier";A1);NBCAR(CELLULE("nomfichier";A1))-TROUVE("]";CELLULE("nomfichier";A1)))
 

0
danielc0 Messages postés 1126 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 12 septembre 2024 127
8 sept. 2024 à 12:12

Bonjour,

Une tentative, avec Excel 365 uniquement. Prise en compte de l'ajout ou de la suppression de salariés.Changement de mois avec adaptation du nombre de jours.

https://www.cjoint.com/c/NIikiM4taZ3


0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
8 sept. 2024 à 12:20

Bonjour,

Je n'ai en effet pas proposé de formulation Excel 365, nettement plus simple, parce que je n'ai pas cet article et que je ne sais pas si RV71 l'a.

Je n'ai pas non plus fait de calendrier automatique qui me semble plus logique parce qu'il n'en voulait pas.

Avec 2019/2021, la seule chose que je ne trouve pas à automatiser est l'entrée automatique dans la feuille synthèse des noms des personnes en B1, D1... à partir du nom de chaque feuille correspondante suivant synthèse.

0
danielc0 Messages postés 1126 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 12 septembre 2024 127
8 sept. 2024 à 12:51

@brucine StatutMembre

Effectivement, il faudrait une liste des salariés.


0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
8 sept. 2024 à 12:53

Bonjour 

Merci mais effectivement je n' ai pas off365

Pour le calendrier automatique c'est pas que je n'en veux pas, mais la création des lignes avec les jours ne prend que 3s

Merci 

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
8 sept. 2024 à 14:38

Tiens, comme ça avec calendrier automatique, il n'y a plus qu'à modifier la première date en synthèse chaque mois.

https://www.cjoint.com/c/NIimLNaHj6F

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
8 sept. 2024 à 14:52

Sincèrement, pas mal du tout !!!!!

Merci encore !

A+

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
8 sept. 2024 à 17:58

Bon ça semble rouler,

mais j'ai encore une demande supplémentaire.

Est il possible d'avoir une autre feuille avec :

En ligne toujours les jours

En colonne les lieux (autant de colonnes que de lieux)

En valeur le salarié

Je n'arrive pas à créer le TCD .

Merci

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
8 sept. 2024 à 20:57

Comme ça avec une feuille affectation si j'ai bien compris (je n'ai pas vérifié la cohérence à chaque date)?

https://www.cjoint.com/c/NIis4KvjN1F

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344 > brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024
9 sept. 2024 à 10:01

Il faut être cohérent, j'y ai corrigé la ligne de titres et de dates comme sur les autres feuilles.

Dans l'hypothèse où deux salariés travailleraient sur le même site le même jour, je n'ai pas trouvé pour l'instant de solution autre que de réitérer la formule en changeant la plage à chaque fois, ça deviendra une usine à gaz s'il y a plus de 5 ou 6 sites, voir exemple en F13, mais il y a sûrement plus élégant.

https://www.cjoint.com/c/NIjiaPpOKMF

1
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
Modifié le 9 sept. 2024 à 15:11

Wahooo !

Trop cool.

J'ai modifié après avoir cherché la signification des formules, car dans mon classeur j'ai dorénavant plus de lieux et de salariés.

En adaptant les plages ça semble parfait.

Et normalement, c'est impossible que 2 salariés sur le même site, en tous cas un "nouveau site" serait créé.

Merci !!!!!!!!!!!!!!!!!!!!!!! 

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
Modifié le 10 sept. 2024 à 15:40

Même si ma question ne concerne plus le titre, mais vu que c'est le même classeur, je la pose ici (au besoin je peux créer un nouveau topic).

J'ai verrouillé les cellules, hormis la feuille Parametres et les cellules avec les zones de liste dans chaque feuille.

Pour que le verrou fonctionne, j'ai dû protéger chaque feuille par un mot de passe.

Jusque là ça semble OK

Mais, toujours pour faciliter l'utilisateur, j'ai mis sur chaque feuille Salarié un bouton de commande pour effacer les cellules non verrouillées (donc la colonne B, celle où il choisit le lieu pour chaque date)

Le code n'a rien de sorcier c'est juste un effacement de contenu 

Range("b2:b33").ClearContents

avec une confirmation msgbox mais ça osef.

Le problème que je rencontre, une fois les feuilles verrouillées, c'est que j'ai un message 1004 (la cellule se trouve sur une feuille protégée, vous devez ôter la protection blabla). Et je peux juste rentrer dans le debug ou finir, sans que la commande ne soit exécutée

Ca c'est pas cool lol.

Une idée ?

Aussi, comment puis-je faire (j'en profite lol) pour avoir un bouton supplémentaire sur par exemple la feuille Synthèse (celle où on indique le 1er jour du mois) pour effacer le range de chaque feuille salarié, en sachant que le nombre de feuilles n'est pas connu à l'avance, mais on peut le faire pour toutes les feuilles autres que Paramètres, Synthese, Affectation

Merci

0
danielc0 Messages postés 1126 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 12 septembre 2024 127
10 sept. 2024 à 16:10

Bonjour,

En admettant que le mot de passe soit "aaa" pour toutes les feuilles, mets la macro suivante dans le module Thisworkbook :

Private Sub Workbook_Open()
  Dim Sh As Worksheet
  For Each Sh In Sheets
    If Sh.Index > 3 Then
      Sh.Protect "aaa", userinterfaceonly:=True
    End If
  Next Sh
End Sub

Daniel

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344
10 sept. 2024 à 16:42

La colonne B est bien déverrouillée?

Pour le reste, je botte en touche, je suis fâché avec les macros.

Une façon de contourner la difficulté si j'ai bien saisi consiste comme je le faisais jadis en pareil cas à ne jamais travailler sur l'original.

En faisant une copie du fichier, on y met toutes les listes déroulantes des salariés dans la feuille synthese à vierge, on efface les noms de la ligne 1, on remplace en en B1 etc la formule par =SI(ESTVIDE($B1);"";INDIRECT("'" & B$1 & "'!B2")) même chose en C1 etc par =SI(ESTVIDE($C1);"";INDIRECT("'" & B$1 & "'!C2")) pour éviter les erreurs disgracieuses, on enregistre par exemple sous planning.xlsx

Chaque mois, l'opérateur ouvre cette feuille et l'enregistre aussitôt par exemple sous planning0924.xlsx où il remplit tout ce qui n'est pas verrouillé.

On n'a normalement même pas tant de complications à chercher suffisant de mettre vierge la zone déroulante en B de chaque salarié et de changer le nom de la feuille si Duchmoll est remplacé par Bidule.

Je n'ai pas considéré le cas des heures dans les paramètres mais qu'on peut aussi mettre à 00:00 ni celui où un lieu viendrait à disparaître sans être remplacé par un autre nom où il est plus simple de laisser la colonne vierge en l'état mais on peut parfaitement laisser toute la ligne de lieux vierge.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > danielc0 Messages postés 1126 Date d'inscription mardi 5 juin 2018 Statut Membre Dernière intervention 12 septembre 2024
10 sept. 2024 à 16:56

Merci

mais je pense que ceci va m'effacer le classeur à chaque ouverture ?

C'est pas le but.

0
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31 > brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024
10 sept. 2024 à 16:59

Oui autre approche quant à la création du nouveau mois.

Tout est verrouillé sans les cellules en B

Faut que l'utilisateur teste, mais je pense que c'est OK

Merci !

0
brucine Messages postés 16639 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 13 septembre 2024 2 344 > RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024
10 sept. 2024 à 18:33

Je te laisse à tes considérations de macros, c'est sûrement plus efficace mais je n'y comprends rien.

Sur la solution que j'ai proposée en <63> j'ai été blond, on copie évidemment la formule directement dans synthèse B2 en recopiant dessus le format de B3.

Il n'y a alors plus d'autre intervention date de l'opérateur que de donner le bon nom au fichier.

Le fichier joint, qu'il faut bien sûr renommer planning092024.xlsx

https://www.cjoint.com/c/NIkqHfKVtwF

1
RV71 Messages postés 589 Date d'inscription mardi 14 avril 2020 Statut Membre Dernière intervention 12 septembre 2024 31
10 sept. 2024 à 16:05

Je me réponds à moi même pour la première partie de la question

ActiveSheet.Unprotect "mdp"

Range("b2:b33").ClearContents
ActiveSheet.Protect "mdp"

Pour le faire en global, j'imagine une bouche foreach etc

Merci

0