Fonction pour compter heures jour/nuit semaine, férié et dimanche

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide afin d'écrire les fonctions pour un planning..
voir fichier joint, c'est plus simple car explications compliquées...

Je vous remercie pour le temps que vous voudrez bien m'accorder.

Bien à vous,
Christian.
 

Pièces jointes

  • PlanningPlusieursHorairesUneColonne.zip
    13.7 KB · Affichages: 109

job75

XLDnaute Barbatruc
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Bonjour Christian,

Il n'y a aucun changement dans les résultats mais c'est une très bonne question.

Pour chaque type de calendrier exécute ce test sur les fichiers des posts #19 ou 21 :

Code:
Sub Test()
'test du dimanche 06/04/2014
Dim dat1#, dat2#
dat1 = [A10].Value
MsgBox dat1 & " jour => " & Weekday(dat1), , "Date1"
dat2 = [A10].Value2
MsgBox dat2 & " jour => " & Weekday(dat2), , "Date2"
End Sub
VBA convertit les dates du calendrier 1904.

Mais seule la propriété .Value est modifiée, .Value2 n'est pas convertie.

A+
 

Christian0258

XLDnaute Accro
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Re le forum, job75,

Je reviens sur ce fil, et ce magnifique travail de job75, afin de demander une tite amélioration sur les calculs générés par les fonctions ...

Voir fichier joint (version6)

Je vous remercie pour le temps que vous voudrez bien vouloir m'accorder.

Bien à vous,
Christian
 

Pièces jointes

  • PlanningPlusieursHorairesUneColonne(6).xls
    84.5 KB · Affichages: 45

job75

XLDnaute Barbatruc
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Bonjour Christian,

S'agissant d'heures de nuit, ce n'est pas G5 mais H5 qui sera modifiée...

A la fin de la macro Calcul il suffit de compléter :

Code:
a(0) = jour: a(1) = nuit * Sheets("Config").[B44] 'heures renvoyées
On pourrait entrer le coefficient comme argument mais ça me paraît superflu ici.

A+
 

Christian0258

XLDnaute Accro
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Re le forum, job75,
Bonjour à tous,

Je reviens vers vous suite à ma question post30, et aux réponses posts 31/32, faites par job75 concernant le choix du calendrier 1904 (afin de compter des heures négatives)...

Sauf erreur de ma part, après essais, si l'on coche 1904, les résultats sur les heures fériés sont faux ?...puis si l'on décoche 1904, les résultats redeviennent bons...

voir fichier 7

Merci pour le temps que vous voudrez bien vouloir m'accorder.

Bien à vous,
Christian
 

Pièces jointes

  • PlanningPlusieursHorairesUneColonne(7).zip
    30.9 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Bonjour Christian,

Oui en effet c'est déroutant la conversion faite par VBA pour le calendrier 1904.

Pour la recherche des jours fériés il ne faut pas accepter la conversion.

Donc comme je l'ai indiqué au post #31, il faut utiliser la propriété .Value2 :

Code:
Function Tot1(dat As Variant, horaire$)
Dim dat1#, test1 As Boolean, test2 As Boolean, a#(1)
dat1 = dat.Value2 'évite la conversion du calendrier 1904
test1 = Application.CountIf([Férié], dat1) = 0 And Weekday(dat) > 1
test2 = Application.CountIf([Férié], dat1 + 1) = 0 And Weekday(dat + 1) > 1
Calcul test1, test2, horaire, a
Tot1 = a 'vecteur ligne de 2 éléments
End Function
Ton fichier (7) en retour, modifie le type de calendrier.

A+
 

Pièces jointes

  • PlanningPlusieursHorairesUneColonne(7).xls
    94.5 KB · Affichages: 42

job75

XLDnaute Barbatruc
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Re,

Vraiment pour peaufiner et par sécurité, si en colonne A ce n'est pas une date au format Date :

Code:
If Not IsDate(dat) Then Tot1 = "#Date!!": Exit Function
Fichier (8).

A+
 

Pièces jointes

  • PlanningPlusieursHorairesUneColonne(8).xls
    92 KB · Affichages: 40

AxelB

XLDnaute Nouveau
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

re-bonjour à tous je sais pas si ce topic est fermé, serait-il possible de modifier ce travail, pour que les heures soit arrondies à l'unité du dessus (même si 10h01 => 11h) étant donné que je fonctionne en mode 1h commencée = 1h due ?

Lorsque j'essaie de modifier j'aperçois le message suivant "impossible de modifier une partie de la matrice"

Merci :)
 

Pièces jointes

  • PlanningPlusieursHorairesUneColonne(5).xls
    82.5 KB · Affichages: 40
  • PlanningPlusieursHorairesUneColonne(5).xls
    82.5 KB · Affichages: 40
  • PlanningPlusieursHorairesUneColonne(5).xls
    82.5 KB · Affichages: 38

Modeste geedee

XLDnaute Barbatruc
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

re-bonjour à tous je sais pas si ce topic est fermé, serait-il possible de modifier ce travail, pour que les heures soit arrondies à l'unité du dessus (même si 10h01 => 11h) étant donné que je fonctionne en mode 1h commencée = 1h due ?

Lorsque j'essaie de modifier j'aperçois le message suivant "impossible de modifier une partie de la matrice"

Merci :)

Lien supprimé
 

job75

XLDnaute Barbatruc
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Bonjour,

Il y a 2 fonctions Excel utiles à connaître : PLANCHER et PLAFOND, voir l'aide Excel.

Sur le fichier joint voici comment procéder :

- sélectionner les 2 cellules C5: D5

- compléter dans la barre de formule avec =PLAFOND(Tot1($A5;$B5);"1:")

- valider matriciellement par Ctrl+Maj+Entrée

- faire la même chose avec E5:F5 et G5:H5

- tirer C5:H5 vers le bas.

Edit : on pourrait écrire "1:0" dans la formule mais "1:" est plus simple.

A+
 

Pièces jointes

  • Pour AxelB(1).xls
    92.5 KB · Affichages: 38
Dernière édition:

Christian0258

XLDnaute Accro
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Re, bonjour à tout le forum, job75,

Je reviens sur ce fil, afin de savoir si cette adaptation est possible...

voir fichier...

Merci pour votre aide, si précieuse.

Bien à vous,
Christian
 

Pièces jointes

  • FonctionHeures.xlsm
    23.3 KB · Affichages: 25
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 327
Messages
2 087 314
Membres
103 513
dernier inscrit
adel.01.01.80.19