XL 2010 Format heure impossible à changer ou exploiter

Alexi64

XLDnaute Nouveau
Bonsoir à tous,

JE suis nouveau sur le Forum. C'est sur les conseils d'un camarade que je viens vous exposer mon problème. Merci de m'accueillir et par avance merci de votre indulgence.
J'ai un fichier Excel avec des colonnes aux formats HH:MM:SS (une) et H:MM:SS (deux) et je veux toutes les passer en HH:MM:SS.
Mais c'est impossible de changer le format.
Et Excel qui ne reconnait aucun des deux formats ne me fait pas les calculs ou report que je souhaite.
Pour autant, je me suis aperçu qu'en rentrant dans la cellule par F2, comme par magie le format devient vraiment du temps dont je peux faire tout ce que je veux !!!!
Mais je ne me vois pas rentrer dans des centaines de cellules une a une, pour, comment dire, "valider" le format...

Je vous mets un bout de fichier. Il y a trois colonnes grisées.

Merci de m'aider.
 

Pièces jointes

  • Pour download.xlsx
    12.5 KB · Affichages: 23

MJ13

XLDnaute Barbatruc
Bonjour Alexi, Dranreb

Tu peux tester une macro de ce type:

VB:
Sub Transforme_Heure()
On Error Resume Next
For Each cell In Selection
cell.Offset(0, 3).Value = CDate(cell.Text)
Next
End Sub
 
Dernière édition:

Alexi64

XLDnaute Nouveau
Bonsoir.
Il y a de fortes chances que ce ne soient pas des heures, mias des textes.
Après ouverture de votre fichier, confirmé, ce sont effectivement des textes.

Bonjour Dranreb, bonjour MJ13,
D'abord merci de vous pencher sur mon souci.
Je note que le fichier est en texte. Mais alors comment fait-on pour passer simplement 3 colonnes en HH:MM:SS quand le changement de format ne veut rien savoir ?
C'est incompréhensible. Et j'ajoute que je ne suis pas un cador sur Excel...
Enfin la macro de MJ13 que j'ai recopié telle quelle, ne fonctionne pas.
Excel ne répond pas dit la fenêtre...
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Le changement de format est pris en compte, ne vous inquiétez pas.
Le problème c'est qu'il ne s'applique qu'à l'affichage des nombres, il est ignoré pour les textes. Donc veillez à ce qu'à l'avenir l'acquisition des données veille bien à convertir ces heures en nombres, si ce n'est pas une saisie manuelle, comme je le suppose, puisque celle ci le fait, comme vous l'avez vous même constaté.
 
Dernière édition:

Alexi64

XLDnaute Nouveau
Bonjour.
Le changement de format est pris en compte, ne vous inquiétez pas.
Le problème c'est qu'il ne s'applique qu'à l'affichage des nombres, il est ignoré pour les textes. Donc veillez à ce qu'à l'avenir l'acquisition des données veille bien à convertir ces heures en nombres, si ce n'est pas une saisie manuelle, comme je le suppose, puisque celle ci le fait, comme vous l'avez vous même constaté.

Dranreb,
JE ne peux pas intervenir en amont. LE fichier est issu d'un logiciel spécial de programmation sur lequel je n'ai pas de droits. On me transmet le fichier excel et c'est tout.
Il me faut donc les bons formats.
Et après vérification dans mes formules, rien n'est pris en compte. Ni en changeant de format "qu'on ne voit pas", ni avec le code MJ13.
Au secours !
 

Chris24

XLDnaute Impliqué
Bonjour Alexi64 ,MJ13, Dranreb, le forum

  • Dans l’importe quelle cellule vide du tableau, tapez 1
  • Ouvrez le menu Edition > Copier
  • Sélectionnez la colonne contenant les heures
  • Ouvrez le menu Edition > Collage spécial
  • Choisissez Multiplication et validez
  • Sélectionnez la colonne contenant les heures
  • mettre au format hh:mm:ss
Cdt
 

Dranreb

XLDnaute Barbatruc
Pour pour vous dépanner cette macro tente de transformer tous les textes de la forme "*:*" des cellules de la feuille active en valeurs d'heures.
VB:
Option Explicit
Sub ConvertirHeures()
   Dim R As Range, T(), L As Long, C As Long
   Set R = ActiveSheet.UsedRange
   T = R.Value
   On Error Resume Next
   For L = 1 To UBound(T, 1): For C = 1 To UBound(T, 2)
      If VarType(T(L, C)) = vbString Then If T(L, C) _
         Like "*:*" Then T(L, C) = TimeValue(T(L, C))
      Next C, L
   R.Value = T
   End Sub
 

CISCO

XLDnaute Barbatruc
Bonjour

Si tu sélectionnes toute la colonne, auquel tu imposes le format [hh]:mm, cela ne fonctionne pas ? Chez moi, avec ton fichier, c'est OK. Après, je peux ajouter des durées à ces valeurs, en les écrivant sous la forme 1/24 pour 1 heure.

@ plus
 

Modeste geedee

XLDnaute Barbatruc
bonsour®
sans formule ...
sans macro ...
;) le B.A. BA en quelque sorte !!!
selectionner la colonne concernée
Menu > Donnees > Convertir
Entrée > Entrée
à l'étape 3 sur 3 choisir : Standard
Entrée

procéder de même pour chaque autre colonne concernée
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou