[Excel 2007 VBA] Problème de format de cellule

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Malloul

XLDnaute Nouveau
Bonsoir à tous,

J'ai décidé de créer une macro pour mettre à jour le TCD de les heures travaillées mais j'ai un problème avec le format des cellules.
Au boulot j'ai excel 97 et je n'ai aucun souci avec le fichier (fichier v1).
Mais à la maison avec excel 2007 quand j'actualise le tableau le format des cellules n'est plus bon (fichier v2).
Je n'arrive plus à mettre le format correct à savoir [hh]:mm.

Merci d'avance pour votre aide
Raphael
 

Pièces jointes

Re : [Excel 2007 VBA] Problème de format de cellule

re
Tu a raison et je ne vois pas ce qui ce passe, je l'avais convertis en excel 2003 et ensuite réouvert avec 2007 mais il ne prend plus les format heures correctement, Bizarre Bizarre.
Je pense que Michel xld passera par ici pour nous éclairer!!!
Patiente
 
Re : [Excel 2007 VBA] Problème de format de cellule

Bonjour,

Je constate le même problème.

Une application tierce génère un fichier au format XML à destination d'ExceL.
Je rencontre un problème avec le format des heures (DateTime) sous Excel 2008 alors que cel fonctionne très bien sous Excel 2003.
Je passe dans le fichier des heures qui peuvent être soient inférieures à 24:00:00 soit supérieures ou égales.

Voici le code relatif à la définition du style
Code:
<Style ss:ID=\"s36\">
    <NumberFormat ss:Format=\"[h]:mm:ss\"/>
</Style>

Voici la section relative à l'écriture de la valeur :
Code:
$DateTime:=s_Excel_Time_Convert (MaDate) ` Function de conversion qui retourne la valeur au format AAAA-MM-JJTHH:MM:SS
<Cell ss:StyleID="s36">
    <Data ss:Type="DateTime">+DateTime+</Data>
</Cell>

Cela donne au niveau du résultat :
1 - Pour une expression heure INFERIEURE à 24:00:00 (ici 14:20:00)
Code:
<Cell ss:StyleID="s36">
      <Data ss:Type="DateTime">1899-12-31T14:20:00</Data>
</Cell>

2 - Pour une expression heure SUPERIEURE OU EGALE à 24:00:00 (ici 26 heures)
Code:
<Cell ss:StyleID="s36">
      <Data ss:Type="DateTime">1900-01-01T02:00:00</Data>
</Cell>

Cette syntaxe fonctionne avec Excel 2003 et me permet d'avoir des heures supérieures à 24h00 et de faire des calculs de totalisation pour obtenir un nombre d'heures travaillées sur une période.
Ce qui me permet d'obtenir le résultat suivant dans Excel (extrait de bas de tableau)
HTML:
<Table>
<tr><td>Semaines</td><td>Heures travaillées</td></tr>
<tr><td>...</td><td>...</td></tr>
<tr><td>2008-02</td><td>0:12:09</td></tr>
<tr><td>2008-02</td><td>1:39:01</td></tr>
<tr><td>2008-02</td><td>2:06:53</td></tr>
<tr><td>2008-02</td><td>0:12:14</td></tr>
<tr><td>Total 2008-02</td><td>36:54:34</td></tr>
<tr><td>Total général</td><td>728:17:03</td></tr>
</table>

Cela ne fonctionne pas du tout avec Excel 2007 qui m'affiche tout sauf ce que je souhaite. J'ai également utilisé le format mais qui ne fonctionne pas mieux
Code:
<Style ss:ID="s36">
    <NumberFormat ss:Format="[$-F400]h:mm:ss AM/PM"/>
</Style>

J'ai l'impression de louper le détail qui fait que cela ne fonctionne pas sous 2007 mais je sèche malgré de nombreuses consultations de forums sur ce sujet.

Si quelqu'un arrive à afficher dans Excel 2007 des heures supérieures à 23:59:59 merci à lui de m'indiquer quel format il utilise.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
185
Réponses
11
Affichages
778
Réponses
6
Affichages
284
Réponses
1
Affichages
129
  • Question Question
Microsoft 365 Format de cellule
Réponses
3
Affichages
438
Retour