OVH Cloud OVH Cloud

calcul de temps commun

1 réponse
Avatar
titi
bonjour

je fais appel aux pros d'excel parce que là j'avoue mes competences en
excel sont largement dépassées,

j'ai deux feuilles qui representes des communications telephoniques
entrantes sur la feuille 1 et sortantes sur la feuille 2

sur la feuille 1 deux colonnes A et B
en colonne A : l'heure de debut de communication
en colonne B; la durée de la communication

Idem sur la feuille 2


et je cherche donc à calculer par macro le le max de communications
simultannées


mon probleme c'est qu' il y a plus de 30 000 lignes sur chaque feuille
et que cela reveint tous les mois

c'est pour cette raison que j'avais pensé à une macro


Si quelqu'un pouvait me emttre sur la voix ( ha ha ha : jeu de mots )

1 réponse

Avatar
JpPradier
Bonsoir Titi

J'ai supposé que la première ligne est la ligne de titre. Il faudra peut-etre adapter les
noms des feuilles. Le résultat va en J1 de la première feuille :

Sub CompteHeure()
total = 0
nb1 = Worksheets("Feuil1").Range("a65536").End(xlUp).Row - 1
nb2 = Worksheets("Feuil2").Range("a65536").End(xlUp).Row - 1
tablo1 = Worksheets("Feuil1").Range("a2:b" & nb1 + 1)
tablo2 = Worksheets("Feuil2").Range("a2:b" & nb2 + 1)

For i = 1 To nb2
For j = 1 To nb1

deb1 = tablo1(j, 1)
fin1 = tablo1(j, 1) + tablo1(j, 2)
deb2 = tablo2(i, 1)
fin2 = tablo2(i, 1) + tablo2(i, 2)

If deb2 < fin1 And deb1 < fin2 Then
deb = IIf(deb1 > deb2, deb1, deb2)
fin = IIf(fin1 > fin2, fin2, fin1)
result = fin - deb
total = total + result
End If
Next
Next
Worksheets("feuil1").Range("j1").Value = total
End Sub

j-p