Calcul de plages horaires à partir de valeurs booléennes (0 - 1) - Résolu

Al1C21

XLDnaute Nouveau
Bonjour,

Je cherche une solution, sans recours à des macros, pour déterminer des heures d'ouverture et fermeture de service, sur une période de 24 heures, en ayant pour chaque service l'information si le service est ouvert ou non dans chaque créneau d'une heure.

Pour chaque service j'ai donc une succession de 24 valeurs 0 ou 1, et je veux obtenir en bout de ligne les heures de début (ouverture) et de fin (fermeture) du service. Il peut y avoir 2 ou 3 plages d'ouverture.

J'ai "bricolé" quelque chose qui me donne bien la première ouverture, mais ça ne fonctionne pas pour la suite.

Notez bien qu'il y a des services qui n'on aucune ouverture, ou au contraire qui sont toujours ouverts.

Merci d'avance de votre aide, et même si la solution complète n'émerge pas je pense que vous m'aurez permis d'avancer.

Cordialement.
 

Pièces jointes

  • Plages de Service.xls
    23.5 KB · Affichages: 75
  • Plages de Service.xls
    23.5 KB · Affichages: 78
  • Plages de Service.xls
    23.5 KB · Affichages: 76

ROGER2327

XLDnaute Barbatruc
Re : Calcul de plages horaires à partir de valeurs booléennes (0 - 1)

Re...


(...)
Pour Roger : effectivement c'est bien ce que je veux (contrainte de raisonner sur une période de 24 heures, le 4h de la fin n'étant pas le même jour que le 4h du début). Ce que tu as fait me convient parfaitement, il ne reste plus qu'à me dire comment je fais pour utiliser cette macro dans mon fichier de données.
(...)
Pour le paramétrage, tout est dit dans le message #23.
Je joins un nouveau classeur dans lequel vous trouverez un exemple où les données sont dans une feuille et les résultats dans une autre. En regardant les codes dans le module de la feuille Feuil2 (onglet Résultats) et le module standard Module_de_traitement, vous verrez comment adapter à votre classeur (j'ai commenté ce qui doit l'être).

J'ai testé en répétant les données sur 71000 lignes : 5,7s. (Pour comparer, les mêmes données sont traitées en 34s avec le code d'eriiiic.)



ROGER2327
#5928


Lundi 23 Merdre 139 (Interprétation de l’humour - fête Suprême Tierce)
21 Prairial An CCXX, 9,3845h - barbeau
2012-W23-6T22:31:22Z
 

Pièces jointes

  • XLD_185501_Plages horaires(4).xlsm
    31.6 KB · Affichages: 44

Al1C21

XLDnaute Nouveau
Re : Calcul de plages horaires à partir de valeurs booléennes (0 - 1)

Bonjour,

Merci Roger : ça marche bien, et j'arrive à paramétrer selon mes besoins.
C'est super.

Le code d'eriiiic était déjà parfait pour moi, alors je vais être obligé de dire que maintenant c'est plus que parfait (ça tourne effectivement plus vite) !

Et comme les formules de Rachid étaient aussi formidables, je ne sais plus où m'arrêter dans les éloges et remerciements.

D'ailleurs, comment fait-on pour clôturer un fil, avec "question résolue" ?

Merci encore à tous.

Cordialement.
Alain
 

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 500
dernier inscrit
Suk Ram