Excel _ jours de récuperation restantes

marie_vba Messages postés 7 Statut Membre -  
Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je sollicite votre aide pour un petit problème que je rencontre depuis 2 jours.

J'ai réalisé le plus dur, une macro sous VBA pour tout automatiser dans mes feuilles et je bloque sur un tout petit truc et ça m'énerve !

Voici mon problème :

Dans notre entreprise, on a le droit à des jours de récupération si l'on a travaillé le samedi par exemple mais ces jours doivent être pris dans un délai de 6 mois.

Les salariés ont une fiche de temps à remplir, ils saisissent grâce à la macro le nombre de récupération obtenue, le nombre pris...

Seulement je suis incapable de calculer le nombre de récupération à prendre avant la date T.

Si vous avez des idées à m'offrir car je bloque complètement !!

Merci par avance

Marie, l'assistante comptable qui galère ! ;)

6 réponses

  1. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Avec un exemple de fiche de temps ce serait mieux pour vous proposer une solution!
    0
  2. marie_vba Messages postés 7 Statut Membre
     
    Bonjour,

    Alors voici un exemple :

    Mois...............Jour acquis.............Jour pris...........Nb récup. avant fin de mois
    1.........................1...........................0.....................................0
    2.........................2...........................1.....................................0
    3.........................0...........................0.....................................0
    4.........................0...........................0.....................................0
    5.........................0...........................0.....................................0
    6.........................0...........................0.....................................0
    7.........................0...........................0.....................................0 [car 1 journée prise en fevrier]
    8.........................0...........................0.....................................2 [acquis en Fev mais non pris ]
    9.........................0...........................0.....................................0
    10.........................0...........................0.....................................0
    11.........................0...........................0.....................................0
    12.........................0...........................0.....................................0

    C'est la colonne Nombre de récup. à prendre avant fin mois que je n'arrive pas à automatiser.

    exemple de formules inscrites mais inefficace :

    =SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-6)*($B$2:$B$13)*1)-SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-5)*($C$2:$C$13)*1)

    inefficace car si j'acquiers un jour en janvier et que je le prends en mai, il m'inscrit -1 en restant à prendre en Septembre alors que normalement doit apparaitre 0.

    et

    =SI(D9=0;0;SOMMEPROD(($A$2:$A$13<=A10)*($A$2:$A$13>=A10-6)*($B$2:$B$13)*1)-SOMMEPROD(($A$2:$A$13<=A10)*($A$2:$A$13>=A10-5)*($C$2:$C$13)*1))
    i
    nefficace car 2 jour acquis en Janvier, 1 jours acquis en Février, 2 jours pris en Mars = -1 en Août au lieu de 0 ! OU 1 jour acquis en Janvier, 2 jours acquis en Février, 2 jours pris en Mars = 0 jour en Août au lieu de 1

    Donc si vous avez d'autres idées, je suis preneuse.

    Merci pour votre aide

    Marie
    0
  3. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Essayez avec cette formule :
    =SI(SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-6)*($B$2:$B$13)*1)-SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-6)*($C$2:$C$13)*1)>0;SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-6)*($B$2:$B$13)*1)-SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-6)*($C$2:$C$13)*1);0)

    0
  4. marie_vba Messages postés 7 Statut Membre
     
    On s'en rapproche mais ça ne fonctionne pas parfaitement car avec cette formule :

    2 jours acquis en janvier
    1 jours acquis en février
    1 jours pris en mai

    = 2 jour à prendre avant fin aout alors qu'en réalité on doit trouvé 1 avant fin aout!!

    Merci d'avoir essayé ! :)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Merci pour l'information, je vais corriger la faute ...
    0
  7. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonjour,
    Petite correction :
    =SI(SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-7)*($B$2:$B$13)*1)-SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-5)*($C$2:$C$13)*1)>0;SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-7)*($B$2:$B$13)*1)-SOMMEPROD(($A$2:$A$13<=A2)*($A$2:$A$13>=A2-6)*($C$2:$C$13)*1);0)

    0