[Résolu par thebenoit] Condition sur cumul des heures

Lone-wolf

XLDnaute Barbatruc
Bonjour à tous :)

Comme je n'ai jamais fait de macro comportant le cumul des heures, j'aimerais un petit coup de mains pour resoudre mon problème. C'est juste une condition : si C2 >= 43:00 effacer D9. Merci infiniment. Mais après coup, il faudrais que je me base sur la fin de semaine, vendredi en l'occurence, vus que le cumul des heures peux varier, mais pas moins de 43h par semaine.

Les 15 minutes sont calculés par 25, c'est à dire 8:25 équivaut à 8h 15 - 8:50 à 8h 30 etc.
 

Pièces jointes

  • Classeur1.xlsm
    26.6 KB · Affichages: 53
  • Classeur1.xlsm
    26.6 KB · Affichages: 44
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Re : Condition sur cumul des heures

Bonjour thebenoit,

au départ tu rentre un nom et les heures dans la feuille Saisie, clique sur enregistrer les heures normales s'incrivent dans la feuille Data en colonne C. Et tous les vendredis faire la somme de la semaine. Mais j'ai trouvé une solution, pas vraiment satisfaisante.


Code:
Option Explicit
Sub Enregistrer()
Dim plage As Range, cel As Range, lig As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With Sheets("Data")
lig = .Range("a65536").End(xlUp).Row + 1
.Cells(lig, 1) = Sheets("Saisie").Range("e5")
.Cells(lig, 3) = Sheets("Saisie").Range("e7")
End With

With Sheets("Data")
Set plage = .Range("b2:b65536")
For Each cel In plage
 If Weekday(cel) = 1 And Weekday(cel) = 7 Then
  Sheets("Saisie").Range("e9").ClearContents
  ElseIf Weekday(cel) = 6 Then
 cel.Offset(, 2).FormulaR1C1 = IIf(cel.Row > 2, "=SUM(R[-4]C[-1]:RC[-1])", "=SUM(R[-4]C[-1]:RC[-1])")
 Exit For
  End If
  Next cel
End With
Sheets("Saisie").Range("e5, e7").ClearContents
'Application.DisplayAlerts = False
'ActiveWorkbook.Save
End Sub

J'aimerais maintenant changer FormulaR1C1 par une ligne VBA et qui prends en considération aussi les heures du samedi. Je remets le fichier, parce qu'en plus de ça, lors de l'enregistrement la cellule C3 s'éfface et je ne trouve pas le hic.
 

Pièces jointes

  • Classeur1.xlsm
    32.9 KB · Affichages: 39
  • Classeur1.xlsm
    32.9 KB · Affichages: 35

thebenoit59

XLDnaute Accro
Re : Condition sur cumul des heures

Sur la feuille Data, [c3] est supprimé car en lançant la procédure lig = 3 et la valeur en [e7] de la feuille Saisie n'est pas remplie.

Pour le cumul des heures, il faudrait mieux l'effectuer le samedi à ce moment là.

Chaque jour les heures seront enregistrées c'est bien ça ?
A quoi correspond Heures hebdomadaires ? Il s'agit du cumul des heures effectuées c'est bien ça ? Et tu souhaites le remettre à zéro quand tu es un Samedi ou un Dimanche ?
 

Lone-wolf

XLDnaute Barbatruc
Re : Condition sur cumul des heures

Re,

tu as tous compris ;). La colonne des hrs hebdomadaires est justement celle qui vas faire le calcul des heures de la semaine et effacer la cellule E9 une fois les 43h ou plus sont éffectuées.


Merci thebenoit
 
Dernière édition:

thebenoit59

XLDnaute Accro
Re : Condition sur cumul des heures

Je te joins ton fichier.
J'ai désactivé tes procédures de la feuille Saisie, et également les validations de données pour [e7].

Si le nom ou nombre d'heures n'est pas remplie, une MsgBox apparaît.
Si le nombre d'heures est supérieur à 10h, pareil.

Ensuite, j'entre les valeurs dans la feuille Data.
Colonne A : Le nom
Colonne B : Le jour de l'enregistrement
Colonne C : Le nombre d'heures

Si le jour de l'enregistrement est un samedi, on réalise le cumul du nombre d'heures.

J'ai gardé en commentaires la saisie que j'avais réalisé au début avec le calcul du nombre d'heures avec une boucle sur la colonne B comme tu l'avais fais, pour que tu puisses l'utiliser si besoin.

A l'ouverture du fichier, si nous sommes un samedi ou un dimanche, le cumul d'heures de la feuille Saisie se supprime.
 

Pièces jointes

  • Classeur1.xlsm
    31.6 KB · Affichages: 38
  • Classeur1.xlsm
    31.6 KB · Affichages: 35

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 034
Membres
104 010
dernier inscrit
Freba