Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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+
 
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Re,

Note aussi qu'avec les dates au format "Standard" les résultats sont modifiés si on passe au calendrier 1904.

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

Re, le forum, job75,

Je te remercie, pour ces explications, très utiles.
Encore merci pour l'ensemble de ton travail...

Bien à toi,
Christian
 
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

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+
 
Re : Fonction pour compter heures jour/nuit semaine, férié et dimanche

Re, le forum, job75,

Merci, à toi, pour cette ligne de commande modifiée.
Ok, pour le conseil "nommer la cellule", c'est fait...

C'est impec.

Bien amicalement,
Christian
 
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

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

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

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


Lien supprimé
 
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

Dernière édition:
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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
484
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…