Userform et tableau

salut Dan, quand je rajoute un jour de grève je n'ai plus la somme des cases de couleur en bas de colonne

Je n'ai pas compris votre souci. Quelle flèche de tri ? Les flèches en haut de chaque tableau sont des flèches pour filtrer les infos

oui tout à fait ça, je me dis que si je filtre ou si je change le classement de A-z en tableau 1 et que je rajoute un jour de grève tout les calcul seront faussé, chaque ligne de tableau correspont à un agent, il faudrait lier les tableaux, non?

image

salut Dan, quand je rajoute un jour de grève je n'ai plus la somme des cases de couleur en bas de colonne

Ah ok j'ai compris.
- Allez dans l'usf2 au code Private Sub CommandButton1_Click()
- Ajoutez la ligne ci-dessous entre cette ligne --> Feuil2.Cells(.HeaderRowRange.Row + 1, Col).FormulaR1C1 = "=calcul_cout_greve(R2C,RC2)" et le END WITH

.ListColumns(Col).TotalsCalculation = xlTotalsCalculationSum

oui tout à fait ça, je me dis que si je filtre ou si je change le classement de A-z en tableau 1 et que je rajoute un jour de grève tout les calcul seront faussé, chaque ligne de tableau correspont à un agent, il faudrait lier les tableaux, non?

Non puisque la listeview est chargée suivant l'ordre de la colonne A de votre feuille 2.
Donc si dans votre listview vous avez l'agent 2 avant l'agent 1 c'est que dans la feuil2 colonne A l'agent 2 est avant l'agent 1.
Il n'y a pas de souci actuellement.


Salut Dan,

parfait c'est corrigé.

merci

bonjour Dan,

j’espère que vous avez passé un bon réveillon de noël !

désole pour le retour tardif mais finalement je n'ai pas totalement résolu mon problème sur mon fichier planning et ça me prends beaucoup de temps.

en ce qui concerne le fichier gréve, voici quelque éléments pour poursuivre :

Participation à la perte collective = total de la perte de tous les jours de grève (somme de la ligne S21) * par la quote-part de l’agent

A rembourser à l’agent = perte journalière (total sur la durée de la grève) – perte collective (total sur la durée de la grève)

Perte journalière = somme de tous leurs jours de grève

A donner pour la caisse (casse pour calcul du tableau 1 colonne F) = prendre en compte seulement les jours non-gréviste

A injecter dans la cagnotte : J’affiche un chiffre si la colonne « pour le calcul » – « à rembourser à l’agent » est supérieur à zéro, sinon rien (case vide)

A donner à l’agent : J’affiche un chiffre si la « à rembourser à l’agent » - colonne pour le calcul » est supérieur à zéro, sinon rien (case vide)

Colonne pour le calcul :

je calcul :

  • d’abord la participation collective de l’agent càd perte total journalière *quotte part
  • ensuite je soustrait ce résultat à sa perte journalière ce qui me donne sa perte brut
  • exemple : l’agent1 perd 86 E sur une journée de grève
  • j’ai 10 agents sur une équipe de 25 qui font grève
  • la perte brut cumulé des 10 agents est de 1063 E (participation collective déduite)
  • du coup cette perte brut (1063) doit être répartie sur les agents n’ayant pas fait grève en fonction de leurs taux horaire.

j'ai pensé à une autre fonction dans l'userform2, serait-il possible d'identifier un agent ne participant pas à l'effort collectif de la même façon que les grévistes

avec une coche, ce qui l'exclu des calculs du partage de la perte collective.

encore merci Dan

passez un bon réveillon du nouvel AN !

Bonjour,

j’espère que vous avez passé un bon réveillon de noël !

Oui. Merci et j'espère également pour vous


Merci de vos toutes explications mais je ne sais rien regarder si vous ne précisez pas où on doit regarder. exemple pour le point 1.

Participation à la perte collective = total de la perte de tous les jours de grève (somme de la ligne S21) * par la quote-part de l’agent

Cela concerne :
- quelle feuille ? -> feuil1
- Colonne E ?
- Vous écrivez "somme S21". Dans la feuil1, la somme est en S22 et la colonne S ne contient rien.

Dans quelle colonne va le résultat de ce point ?


Cela n'a rien à voir avec vos explications mais dans cette feuil1, d'où viennent les infos de la colonne E

bonjour Dan,

Participation à la perte collective = total de la perte de tous les jours de grève (somme de la ligne S21) * par la quote-part de l’agent

oui effectivement ce n'est pas très juste

c'est bien la somme qui est en ligne 21 (tout dépend du nombre d'agent)(du coup la somme de toutes cases les orange) de chaque jour.

le résultat va en en colonne E de la feuil1

si vous avez encore des questions n’hésitez pas, je vais regarder si je peux faire un peu plus explicite.

j'ai repris mon ancien fichier et j'avoue j'ai eu du mal à m'y retrouver ...

Re

c'est bien la somme qui est en ligne 21.....

Vous devriez reprendre votre dernier fichier posté (version 6) sans quoi je ne comprends rien à ce que vous voulez
La somme serait de C21 à J21 ? là j'ai 3680
Quote part de l'agent : ok mais je la vois où ?

Autre question : pourquoi vous ajoutez vos agents en feuille de calcul alors que vous les ajoutez déjà en feuille DATA ?

bonjour Dan,

Quote-part de l'agent : ok mais je la vois où ?

la quote-part est en colonne H de la feuille data

image

oui c'est bien la ligne 21 la somme de toute les colonnes de jour de gréve

je vais essayé de faire quelque chose de plus complet depuis le fichier d'origine ce qui sera surement plus claire

bonne journée

brice

Bonjour

la quote-part est en colonne H de la feuille data

re question : et cette colonne H, les pourcents viennent d'où ?
Si vous êtes un peu "avare" en explications on ne sait pas avancer

je vais essayé de faire quelque chose de plus complet depuis le fichier d'origine ce qui sera surement plus claire

Bah votre fichier V6 posté est ok. Faut juste avancer pas à pas

salut dan,

tous mes vœux pour cette nouvelle année, santé et bonheur !!!!

j’espère que les fêtes se sont bien passées ?

re question : et cette colonne H, les pourcents viennent d'où ?

du calcul de la quote-part : c'est un produit en croix

Qp = (th *100) / total taux horaire

dis moi si tu as assez pour continuer...

bonne soirée DAN .

Bonjour

Merci pour vos voeux et recevez les miens parce post

du calcul de la quote-part : c'est un produit en croix --> Qp = (th *100) / total taux horaire

Ok alors en G18, choisissez SOMME dans la liste déroulante et ensuite ajoutez cette formule en H2 et recopiez-la vers le bas --> =G2/$G$18

Cela permettra au tableau de l'ajouter automatiquement lorsque vous ajouterez un nouvel agent

Bonjour DAN,

J'ai modifié, voulez vous une nouvelle version du fichier ?

Je vous avoue que je n'ai pas avancé pendant les fêtes...

Bonjour

J'ai modifié, voulez vous une nouvelle version du fichier ?

Non nul besoin. Je vous dirai si souci

Crdlt

Bonjour

Je reprends point par point selon votre message ici :https://forum.excel-pratique.com/s/goto/1179036

Participation à la perte collective
- Dans la Feuil1, sur la ligne TOTAL en colonne E, choisir Somme dans la liste déroulante
- Dans un module, ajoutez ce code

Sub CalculerQuotePart()
Dim TSData As ListObject, TSFeuil2 As ListObject
Dim Ligne As Byte, ligneagent As Byte
Dim totalCol As Double, quotePart As Double
Dim col As Byte, i As Byte

Set TSdata = Sheets("DATA").ListObjects("Tableau2")
Set TSFeuil2 = Sheets("Feuil2").ListObjects(1)

With TSFeuil2
    col = .ListColumns.Count
    totalCol = .ListColumns(col).Total
End With

With Sheets("Feuil1").ListObjects(1)
    .ListColumns(5).DataBodyRange.ClearContents
    For i = 1 To .ListRows.Count
        On Error Resume Next
        Ligne = WorksheetFunction.Match(.DataBodyRange(i, 1), TSFeuil2.ListColumns(1).DataBodyRange, 0)
        ligneagent = WorksheetFunction.Match(.DataBodyRange(i, 1), TSdata.ListColumns(1).DataBodyRange, 0)
        If Ligne > 0 And ligneagent > 0 Then
            quotePart = TSdata.DataBodyRange(ligneagent, 3)
            .DataBodyRange(Ligne, 5) = totalCol * quotePart
        End If
    Next i
End With
End Sub

NB : je suppose que vous n'aurez pas plus de 250 agents ?

Le point suivant sera "A rembourser à l'agent"
- Quelles sont les colonnes perte journalière (total sur la durée de la grève) et perte collective (total sur la durée de la grève) ?
- Dans quelle colonne de la feuil1 va le résultat ?

bonjour Dan,

A rembourser à l’agent = perte journalière (total sur la durée de la grève) – perte collective (total sur la durée de la grève)

la perte journalière est la somme de la colonne J dans la feuil2 (tableau 3)

la perte collective c'est la colonne E du tableau1

actuellement dans mon fichier j'ai un souci en colonne D je devais avoir le somme de chaque ligne du tableau3 en feuil2, modifier du coefficient en B4 de la feuil1, je viens de me rendre compte que ça ne marche pas...

il me semblais avoir modifié ce probléme , de votre coté avez-vous aussi le soucis?

bonne journée.

Bonjour

la perte journalière est la somme de la colonne J dans la feuil2 (tableau 3)
la perte collective c'est la colonne E du tableau1

Ok mais vous ne répondez pas à toutes mes questions.

actuellement dans mon fichier j'ai un souci en colonne D je devais avoir le somme de chaque ligne du tableau3 en feuil2, modifier du coefficient en B4 de la feuil1, je viens de me rendre compte que ça ne marche pas...

Pas de souci de mon coté. Vous avez quoi comme code dans la feuil1 ? Celui que je vous ai donné au point 2 ici ? --> https://forum.excel-pratique.com/s/goto/1177913

bonjour Dan

pour moi la formule sommesicouleur est dans le module 2 ...

je suppose que vous n'aurez pas plus de 250 agents ?

non il n'est pas prévu d'avoir autant d'agent dans 1 seul équipe mais il y a 8 équipes qui chacune sera indépendante dans le calcul du coût de la gréve...

à quelle question n'ai je pas répondu ?

Bonjour,

Veillez à utiliser les balises de code en cliquant sur l'icone CODE (</>) et pas sur l'icone Citation lorsque vous postez des codes (je pense vous l'avoir déjà dit...)

1. Dans ma question pour votre problème B4, je ne vous ai pas parlé du Point 1 mais du Point 2 dans le lien https://forum.excel-pratique.com/s/goto/1177913
Vérifiez que vous avez bien ce code là dans votre feuil1.

2. Ok j'ai noté pour le nombre d'agents

3.

à quelle question n'ai je pas répondu ?

dans le lien https://forum.excel-pratique.com/s/goto/1181446, vous ne répondez pas à la question de la dernière ligne de mon post

salut Dan,

désolé de la réponse très tardive.

Le point suivant sera "A rembourser à l'agent"

- Dans quelle colonne de la feuil1 va le résultat ?

le résultat va dans la colonne H et en colonne I il y a H* B4.

j'espère que vous allez bien ?

Bonjour

Pour la perte collective vous pouvez me confirmer si ces deux exemples sont corrects :

exemple 1 :
En feuil2 : le total en colonne K pour l'agent1 est de 948 eur
En feuil1 : la particpation à la perte collective en E est de 608 eur
Est-ce H pour cette agent est bien de 948 - 608 = 343 eur ? (à rembourser à l'agent)

exemple 2:

En feuil2 : le total en colonne K pour l'agent1 est de 420 eur
En feuil1 : la particpation à la perte collective en E est de 567 eur
Est-ce H pour cette agent est bien de 420 - 567 = -147 eur ?? (là on fait quoi ? c'est l'agent qui doit payer ?)


en colonne I il y a H* B4.

là c'est assez simple, mettez cette formule en H6 --> =$B$4* puis cliquez dans H6. Vous devriez avoir ceci en I6 --> =$B$4*[@[à rembourser à l''agent (brut)]]

La formule sera recopiée automatiquement jusque la dernière ligne en I

Rechercher des sujets similaires à "userform tableau"