Bonjour à tous,
Je rencontre un problème que je n'arrive pas à résoudre sur excel/VBA.
J'ai un fichier standard, permettant de monitorer le temps consacré à un process, qui est chaque jour complété par des opérateurs. Dans ce fichier les opérateurs doivent renseigner des heures de début et de fin de process dans des cases déjà réglée au format heure. Dans ce fichier l'option "utiliser le calendrier depuis 1904" est validée comme je fais des calculs avec des heures et j'ai besoin qu'Excel soit capable d'afficher des durées négatives (quand on est en avance dans le process).
Mon problème est le suivant : Parfois, alors que le ficher est bien complété, et que dans la cellule c'est en effet une heure qui est affichée au format "hh:mm:ss", quand on clique sur cette cellule, la valeur associée à la cellule présente dans la barre de fonction est "02/01/1904 hh :mm :ss" (voir capture d'écran en pièce jointe). Les données de ce fichier étant exportées vers une base de données afin de faire des études statistiques, ce problème de format fausse par la suite tous mes calculs.
Ne sachant pas ce qui provoque cette erreur, je voudrais faire une macro permettant de vérifier la valeur des cellules, et quand celles-ci contiennent "02/01/1904 hh :mm :ss" au lieu de "hh:mm:ss", supprimer « 02/01 »1994 ». Je n’arrive pas à trouver de fonction VBA me permettant d’accéder à la « formule» liée à une cellule.
Dans le cas d’une cellule dont la « formule vaut "02/01/1904 hh :mm :ss" si je fais :
thisWorkbook.Cells(i ,j).Value
ou
thisWorkbook.Cells(i ,j).Formula
La valeur sous VBA sera “hh:mm:ss”, et je ne détecterai pas l’anomalie. Avez-vous des idées pour résoudre ou contourner ce problème ?
Merci d’avance
Partager