Formule matricielle magique ?

Bonsoir les Geeks,

Désolé de vous déranger un premier Mai mais aurait il moyen via une formule de savoir combien de fois par an un opérateur est passé sur le poste s'il vous plait ?

A gauche mon planning annuel où réside des spécifications (en bleu autorisé sur le bleu(3 postes pour 4 personnes) des restrictions, etc....)

A droite là où j'aimerai que le nombre de fois par an l'opérateur est à ce poste.

Cerise sur le gâteau, existerait il une façon de générer ce planning annuellement en respectant les préconisations de couleur et l'équité sans l'aide de l'IA ?

Merci par avance.

Bien à vous

capture
17effectif-test.xlsx (14.26 Ko)

Bonsoir,

ceci en Q6, à étirer jusque AA15 (ou jusque T15 puis faire un copier/coller de la formule sur V6 et étirer jusque AA15) ;

=SIERREUR(SOMMEPROD((INDEX($C$6:$M$57;0;EQUIV(Q$4;$C$4:$M$4;0))=$P6)*1);"")

Et refaire les couleurs.

Pour remettre les mêmes couleurs chaque année il suffit d'associer une couleur à un nom par MFC.

Pour l'équité il faudrait préciser comment vous faites le tableau. Y a-t-il de l'aléatoire ?

Bonsoir @Doux Rêveur,

Merci beaucoup c'est étiré et ça fonctionne, Meeeeeeeerci beaucoup.

Pour l'équité j'ai tout fait à la mano avec un peu de logique et des restrictions.

Les bleus ne peuvent que conduire le matériel bleu, les verts le matos vert, et les saumons se répartissent le reste de manière régulière (avec Dany qui a une restriction de poids à 5 kg)

Bien à toi

Ok, et il n'y a pas moyen d'utiliser le même tableau chaque année pour ne pas le refaire ?

Sinon une alternance semble le plus simple mais je vois que c'est un peu plus compliqué.

Si certainement, mais peut être en changeant le début d'année par rapport à la fin d'année passée ?!

Je me disais que la VBA ou autre chose pouvait m'aider à changer le plan de roulement tous les ans !

Encore un grand merci, t'es super

En changeant le début d'année par rapport à la fin d'année passée, ça veut dire éviter que le premier soit le même que la veille, dernier jour de l'année d'avant ?

C'est bien cela, tu as tout compris ;-)

Bonjour tout le monde.

Dites, à tout hasard, existerait il une solution pour savoir si j'emploie bien toutes les personnes sur une ligne s'il vous plait ?

Merki

Oui, le plus simple étant d'avoir la liste des personnes (une par ligne) quelque part dans le fichier et on peut comparer la tableau à cette liste (avec le même genre de formule que j'ai postée plus haut).

Pour la question de l'alternance, je m'interroge sur la méthode la plus simple. Pour les colonnes C et F il n'y a rien à faire mais c'est pour les autres ; on peut copier un autre nom que le dernier de l'année puis copier tous ceux qui suivent dans le même ordre avec une formule. Ce sera juste un décalage mais dans le même ordre.

Merci pour ce retour c'est très sympa.

Effectivement je galère et ai tout repris pour l'alternance ; ligne par ligne ?!

Car en plus de ça, il y a un vert de trop à placer à droite toutes les semaines (4 pers pour 3 postes !)

Et Daniel a une restriction ........... grrrrr

Si tu peux m'aider pour éviter les doublons par ligne et être sur que j'emploie tout le monde chaque semaine ce serait déjà top et gentil de ta part

A toute....

Bon en fait j'ai sorti le poste à problème, le poste à restriction ; je vais lui faire une fiche de poste adapté à sa semaine.

Du coup, ça va mieux et l'équité pénibilité est faite.

Le vert à droite remplace son collègue à gauche si absence ; idem pour le bleu

image

Pour les présences, le plus simple est de mettre une formule par personne, du genre ceci en AC6 à étirer jusque AC15 ;

=SI(NB.SI($C$6:$M$57;P6)>0;"Oui";"Non")

Et un récap en AC16 ;

=NB.SI(AC6:AC15;"Non")&" absent(s)"

Hello Doux Rêveur,

Je voyais plus quelque chose pour chaque bout de ligne de N7 à N58 pour me dire si j'avais employé tout le monde et m'informer si j'avais fait des doublons sur chaque ligne.

Je vais essayé de gratter un bout de code existant et l'adapter à mon fichier.

C'est très gentil à toi, je te remercie et te souhaite un bon week-end malgré le fichu temps annoncé.

Bien à toi

David ;-)

Il y a cette formule qui compte les valeurs uniques (partie "Exemples") ;

https://support.microsoft.com/fr-fr/office/compter-des-valeurs-uniques-parmi-des-doublons-8d9a69b3-b...

Ce qui donne pour N6 (matricielle) ;

=SOMME(SI(FREQUENCE(SI(NBCAR(C6:M6)>0;EQUIV(C6:M6;C6:M6;0);"");SI(NBCAR(C6:M6)>0;EQUIV(C6:M6;C6:M6;0);""))>0;1))

Pour mettre en évidence le fait qu'il y ait des doublons, on peut la comparer au nombre de cellules occupées et faire comme ça ;

=SOMME(SI(FREQUENCE(SI(NBCAR(C6:M6)>0;EQUIV(C6:M6;C6:M6;0);"");SI(NBCAR(C6:M6)>0;EQUIV(C6:M6;C6:M6;0);""))>0;1))=NBVAL(C6:M6)

Si ça renvoie FAUX, c'est qu'il y a au moins un doublon. On peut rajouter une MFC pour mettre par exemple en rouge les FAUX.

T'es super MERCI beaucoup,

Beaucoup de taf mais je regarde ça dès que possible et te ferai un retour.

Bonne soirée.

Bien à toi

David

Bonsoir Doux Rêveur,

Je reviens vers toi comme convenu ;-)

La deuxième formule avec une MFC est top du top ; ça me convient grandement.

Je te remercie encore une fois pour ton aide et ta disponibilité c'est super sympa.

Bonne soirée.

Bien à toi

David ;-)

De rien, content que ça marche ;)

Je précise que NBVAL ne considère pas une cellule comme vide si elle contient une formule qui renvoie du vide. Idem pour la fonction ESTVIDE.

Pour éviter ça, on peut remplacer NBVAL(C6:M6) à la fin par SOMMEPROD((C6:M6<>"")*1).

Merki, t'es super.

Bon 8 mai

Rechercher des sujets similaires à "formule matricielle magique"