Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Correction d'une MFC pour affichage gantt.

Sb_OS

XLDnaute Junior
Bonjour le forum,

ça fait un moment que je travaille sur la création d'un planning, maintenant je suis dans la finalisation de l'application. Pour afficher les barres du planning sous forme de Gantt, je me suis basé sur une MFC basique utilisant la formule : =ET(P$1>=$M2;P$1<$N2)
Le problème que j'ai c'est que le comportement de cette MFC est de temps en temps aléatoire comme vous voyez dans l'image là tâche N°= 2 à pris 1/4 d heur de plus.
c'est généralement le cas, soit il rajoute 1/4 d'heur à une ou plusieurs tâches ou bien il enlève 1/4 d'heur ce qui provoque un décalage sur toutes les tâches qui sont liées par la suite.

D'après vous, quelles sont les causes possibles de ce bug !



Je vous remercie d'avance.
 

Pièces jointes

  • Capture.PNG
    15.1 KB · Affichages: 87
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Bonjour Sb_OS,

Difficile de répondre sur base d'une image

La formule de la MFC est bonne, il ne devrait pas y avoir de problème

Fais un essai en mettant au format HH:MM:SS les valeurs des colonnes M & N ainsi que les valeurs de la ligne 1

il est peut-être possible de voir alors apparaître des " poussières de minutes" (des secondes) qui perturberaient le fonctionnement de la MFC

à+
Philippe
 

Sb_OS

XLDnaute Junior
Bonjour Philippe,
Merci pour ta réponse.
J'ai bien le format HH:MM:SS partout et les temps sont avec un pas d'un 1/4 je trouve pas de mm ou ss de plus.
ce qui me perturbe c'est que ce comportement est aléatoir (sauf si je l'ai pas bien analysé).
je joins le fichier après avoir supprimer les données confidentiels.
 

Pièces jointes

  • Planning.xlsm
    149.1 KB · Affichages: 46

Modeste geedee

XLDnaute Barbatruc
Bonsour® en général les calculs et formules basées sur les temps et durées aboutissent sur des nombres irrationnels...
Les ordinateurs ne savent pas restituer exactement ces valeurs...
il convient donc d'arrondir les chiffres manipulés à la valeur la plus proche représentative de la précision souhaitée (seconde, minute ou heure)
=ET(ARRONDI(P$1;6)>=ARRONDI($M2;6);ARRONDI(P$1;6)<ARRONDI($N2;6))
 
Dernière édition:

Sb_OS

XLDnaute Junior
Bonjour Modeste,

Voilà un coup de maître, le résultat est immédiat BRAVO.
Si j'ai bien compris alors c'est comme M. Philippe à dit il y a forcément des poussières de mm ou ss donc il fallait faire un arrondi.
juste par curiosité pouvez vous me dire le 6 il correspond à quoi ?
Je vous remercie Messieurs.
 

Sb_OS

XLDnaute Junior
Merci M. Titak,
J'ai déjà vu le fichier il est SUPER mais le VBA d'affichage est d'un niveau trop élevé pour moi, j'arrivais pas à l'adapter donc je suis parti sur une MFC.
Une fois mon model est fini il est possible que je le partage et je tag les personnes qu'on m'a aidé.
Bonne journée à tous.
 

Modeste geedee

XLDnaute Barbatruc
il correspond à la 6eme décimale de la fraction de jour
1 seconde= 1/86400
00:00:01 = 0,0000115740740740741
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…