Nombre de lignes entre intervalles
Bonjour,
Les données d’entrées sont un tableau renseignant des rendez-vous. Chaque rendez-vous est associé à une date de début et une date de fin (la durée d’un rendez-vous est variable, et peut durer plusieurs jours).
Je cherche à compter le nombre de rendez-vous simultané sur une période donnée (par exemple, en janvier, il y a 3 jours sans rendez-vous, 4 jours avec 1 seul rendez-vous, 5 jours avec 2 rendez-vous simultanés etc…).
Voici un exemple.
Voici le tableau avec les dates des différents rendez-vous
ligne 1 du 01/01/2007 au 08/01/2007
ligne 2 du 02/01/2007 au 06/01/2007
ligne 3 du 03/01/2007 au 08/01/2007
ligne 4 du 06/01/2007 au 09/01/2007
Donc les intervalles sont :
du 1 au 2 janvier 2007
du 2 au 3 janvier 2007
du 3 au 6 janvier 2007
du 6 au 8 janvier 2007
du 8 au 9 janvier 2007
Bon, on m'a beaucoup aidé. Voici le vba :
Sub Macro1()
Dim Tableau As New Dictionary
comptage = 0
For i = 2 To 10
For d = Cells(i, 1) To Cells(i, 2)
If (Tableau.Exists(d)) Then
comptage = Tableau(d) + 1
Tableau(d) = comptage
Else
Tableau.Add d, 1
End If
Next d
Next i
'Affichage
For j = 0 To Tableau.Count - 1
Cells(1, 4 + j) = Tableau.Keys(j)
Cells(2, 4 + j) = Tableau.Items(j)
Next j
Set Tableau = Nothing
End Sub
Pas très long!!!
Ca a l'air de bien marcher (2 différences mais à mon avis, c'est parce que j'ai mis >= et dans le vba, il y a >.
Je ne connaissais pas les "dictionary", mais ça a l'air rusé! (avant, il faut cocher dans "outil" référence" de la fenetre vba, "microsoft scripting runtime" (pour ceux qui chercheraient , comme moi).
En tout cas, merci à ceux qui ont essayé.
A la prochaine
PS : je ne sais pas s'il faut mettre "résolu". Et si oui, on coche où, svp?