Userform et tableau

bonjour dan,

Si mais vous devez utiliser l'USERFORM2, choisir votre date et utiliser le bouton "Supprimer"

j'ai comme vous dites mais les calculs ne sont pas bon, avez-vous fait un essai ?

Oui.

Le code Supprimer, recalcul les sommesicouleur et le calcul montant net.

Dans votre dernier fichier dites-moi la date que je dois supprimer dans la feuil

La dernière , la journée où les agents n'ont qu'à seul jour de grève

en ce moment j'essai de rajouter des cases à cocher dans l'userform2 mais je n'y arrive pas ça me donne ça

image

De ce que je vois, en fait si je supprime la dernière date comme vous expliquez, les agents 10 à 17 ne sont pas en grève. Du coup, la colonne D doit être à 0 pour ces agents là

Correct ?

oui tout à fait et du coup ce n'est pas le cas

1. Dans sommesicouleur, il faut ajouter cette instruction au début. Je ne l'avais pas mise dans ma version 14 du fichier. Comme expliqué ici dans l'EDIT ici --> https://forum.excel-pratique.com/s/goto/1189767 (Uniquement l'édit et pas le REDIT)

Feuil1.ListObjects(1).ListColumns(4).DataBodyRange.ClearContents

2. Essayez d'ajouter un agent en grève. Avec votre dernier fichier vous allez avoir un plantage. Là il faut ajouter des points devant les CELLS. Allez dans Userform2 --> code Private Sub CommandButton1_Click() --> la ligne concernée dans votre fichier où il faut les ajouter

        If CDate(TextBox1.Value) & "/" & Left(ComboBox1.Value, 2) = Mid(Cells(4, i), 1, Len(Cells(4, i)) - 3) & "/" & Left(Cells(3, i), 2) Then MsgBox "Cette date existe déjà", vbInformation, "Erreur Date": Exit Sub

Ne remettez pas de fichier. Je regarde pour le reste
Je vous suggère de ne pas avancer plus loin sans avoir terminé cette partie sans quoi on risque de se perdre tant il y a eu des messages pour arriver à ce stade


Pour compléter le point 1, on doit avoir quoi en F et G
Si D = 0 --> F = E et G = 0
Si D > E --> F = 0 et G = D - E
si D < E --> F = ? et G = ?

Si D = 0 --> F = E et G = 0

oui

Si D > E --> F = 0 et G = D - E

oui

si D < E --> F = ? et G = ?

si D < E --> F = E- D et G = 0

Bonjour

Ou là là... 2h44 ... vous ne dormez pas vous ....

Bon la formule en F, essayez comme ceci

=SI(ET([@[perte par agent sur paye (NET)]]<>"";[@[perte par agent sur paye (NET)]]<[@[participation à la perte collective(net)]]);[@[participation à la perte collective(net)]]-[@[perte par agent sur paye (NET)]];SI([@[perte par agent sur paye (NET)]]<[@[participation à la perte collective(net)]];[@[participation à la perte collective(net)]]-[@[perte par agent sur paye (NET)]];""))

Bonjour Dan !

Désolé pour l'horaire j'espère que la notification ne vous a pas réveillé !

Je travail encore de nuit ce soir, je regarde ça cette nuit .

Vous travaillez du fichier 14 ou 14.2 ?

Que l'on soit sur la même base

Fichier 14 avec les formules que vous m'avez proposé pour les colonnes F et G ?

Vous travaillez du fichier 14 ou 14.2 ?

sur le dernier que vous avez posté. Donc 14-2
Cette version inclut ce que je vous ai écrit ici --> https://forum.excel-pratique.com/s/goto/1191235 et ici --> https://forum.excel-pratique.com/s/goto/1191433

bonsoir Dan,

j'ai tout modifié, j'ai un probléme qu'on avait pas avant il me semble...

j'ai la colonne H qui ne se rempli pas jusqu'au bout, càd : si en colonne D j'ai zero il ne rempli pas la colonne H

image

ce qui empêche les bon calculs en colonne I et N

Bonjour

j'ai la colonne H qui ne se rempli pas jusqu'au bout, càd : si en colonne D j'ai zero il ne rempli pas la colonne H

Vous m'en avez déjà parlé ici --> https://forum.excel-pratique.com/s/goto/1191082

Je vous ai donné une réponse à ce sujet --> https://forum.excel-pratique.com/s/goto/1191084 que vous n'avez pas appliqué dans votre dernier fichier V14-2.

bonjour Dan,

voilà je viens de faire un test en repartant de zéro ! càd :

j'ai fais une raz du tableau (aucun souci), j'ai ajouter des agents puis mis des jours de grève puis enlevé, avec plusieurs ajout et retrait, tout est bon je ne vois aucune erreur , la seule "anomalie" est que lorsque je rajoute un agent après quelque jour de grève pour que les calculs s'effectuent en feuil1 il faut revalider la valeur en B4.

je pensais à quelque chose, si je rajoute un agent après quelque jours de grève et que je souhaite qu'il ne participe pas à la perte collective les jours d'avant, comment pourrais-je gérer ça

j'ai toujours l'idée de userform 2 modifié avec la possibilité de mettre le type de grève par agent avec le choix : 1h, 8H, NP (Non Participatif), NG (Non Gréviste)

dite moi ce que vous en pensez ?

la seule "anomalie" est que lorsque je rajoute un agent après quelque jour de grève pour que les calculs s'effectuent en feuil1 il faut revalider la valeur en B4.

Je ne vois pas le souci. Lorsque vous rajoutez un jour c'est sur un agent qui existe déjà ou pas ?

J'ai testé ceci : Rajout d'un jour sur l'agent 1, (25/03/24 - matin). Les calculs se font bien

Dites-moi quoi faire je testerai de mon coté

Ne me repostez pas un fichier toutefois.

non, le test que j'ai effectué est :

j'ai une équipe déjà constitué de 7 Agents, j'ai déjà 6 jours de grève, si je rajoute un agent les calculs ne sont pas automatiques

Bonjour

si je rajoute un agent les calculs ne sont pas automatiques

Bon je devine... car il y a deux USF. Je suppose qu'il s'agit de l'Userform1 et que vous constatez à l'ajout d'un agent sur cette USF.

- Allez dans l'iserform1 --> code Private Sub CommandButton1_Click() 'ajout
- Juste avant le END SUB, ajoutez ces deux lignes

tbl4.DataBodyRange(.ListRows.Count, .ListColumns.Count) = 0
Call calcul_montant_net

NB : comme dit au début de ce fil, on pourrait raccoucir le code. A voir éventuellement

Rechercher des sujets similaires à "userform tableau"