Calcul nombre de ressources simultanées (appels)

Bonjour,

Je cherche à trouver une solution simple qui me permette sur plusieurs dizaine de milliers de lignes de trouver le nombre d'appels maximum sur une période donnée.

Je n'ai pas forcément besoin de représentation graphique, mais au moins du résultat.

J'ai pris un bout de mon fichier pour vous le mettre en pièce jointe si ça peut aider...

Merci de votre aide et de vos lumières !

17global-dev.zip (329.13 Ko)

Bonjour zalexxxx,

Il manque la période dans votre demande, à quoi correspondent les C1 à C18?

Arbitrairement j'ai pris pour C1 les appels passés et reçus sur le mois entre minuit et 08:00

à chaque Cx une heure de plus (dépendant de la colonne)

=NB.SI.ENS($C:$C;"<"&(COLONNE()+1)/24;$C:$C;">"&(COLONNE()/24)

Bonjour

Bonjour à tous

Un essai à tester. Te convient-il ?

10global-dev.zip (340.21 Ko)

Bye !

Bonsoir à tous,

En fait les colonnes C1 à C18 sont là pour faire joli, j'ai oublié de les enlever, elles n'ont aucune utilité.

Ensuite, je ne souhaite pas sélectionner une heure, ou une plage, j'ai besoin en fait de savoir combien au maximum d'appels, sur toute cette période, se chevauchent en même temps, sans forcément avoir besoin de la période...

Je dois mesurer sur 6 mois les pics d'utilisation mensuels. Si j'ai 15 / 20 / 30 ou 60 appels qui peuvent se chevaucher dans le mois, j'ai besoin de le dimensionner.

J'espère que c'est plus clair ?!

Bonjour

Nouvelle version

14global-v2.zip (346.69 Ko)
Option Explicit

Dim tablo
Dim i&, j&, ln&, lnD&, lnF&, n&, nbMax&, dteD, dteF

Sub calculer()

    Range("A1").CurrentRegion.Sort key1:=Range("B2"), order1:=xlAscending, Header:=xlYes
    tablo = Range("A1").CurrentRegion
    nbMax = 0

    For i = 2 To UBound(tablo, 1) - 1
        dteD = tablo(i, 2)
        dteF = dteD + tablo(i, 4)
        n = 0

        For ln = i + 1 To UBound(tablo, 1)
            If tablo(ln, 2) >= dteD And tablo(ln, 2) <= dteF Then
                n = n + 1
                If n > nbMax Then
                    nbMax = n
                    lnD = i
                End If
            Else
                Exit For
            End If
        Next ln
    Next i
    Range("h9") = nbMax + 1
    Range("I11") = tablo(lnD, 2)
    Range("I13") = tablo(lnD + nbMax, 2)
    Range("H4,B" & lnD & ":B" & lnD + nbMax).Select
End Sub

Bye !

Bonjour !

Merci gmb

Bonjour GMB,

Et non en fait cela ne peut pas être 383, mais j'ai trouvé une solution avec SOMMEPROD qui me donne le résultat qui me paraît plus logique, à 23 appels maximum

Rechercher des sujets similaires à "calcul nombre ressources simultanees appels"