re,
hier après-midi le côté gauche était
.Left = c1.Left + (d1 - AHoraires(1, r1)) / (AHoraires(1, r1 + 1) - AHoraires(1, r1)) * c1.Width 'interpoler position côté gauche du forme
hier soir, je l'avais modifié en
.Left = c1.Left + Application.Min(1, (d1 - AHoraires(1, r1)) / Application.Min(dIntervalle, (AHoraires(1, r1 + 1) - AHoraires(1, r1)))) * c1.Width 'interpoler position côté gauche du forme
Donc hier après-midi, si l'heure était par exemple 11:20, les 2valeurs juste en dessous et en dessus étaient 11:15 et 11:30, le côté gauche était le côté gauche de 11:15 + (5 minutes / 15 minutes) * largeur de la colonne. C'étaitla même chose avec une heure entre 19:00 et 7:00,par exemple 1:00, là le côté gauche était le côté gauche de 19:00 + (6 heures / 12 heures ) * largeur de la colonne. Toutes les colonnes représentent donc 15 minutes sauf celle de 19:00 qui était 12 heures
Avec la corréction de hier soir, cette colonne de 19:00 est réduit en 15 minutes, donc de 19:00 à 19:15 et tout ce qu'on a entre 19:15 et 7:00 ne se voit pas.
Je ne le sais pas, mais il y a des pro's et des contra's pour les 2 systèmes, c'est à vous de choisir.
Comme ce gantt est maintenant une interpolation, on peut réduire le nombre de colonnes, je pense, une par heure ?
Si vous clicquez sur une forme, vous voyez ses infos.