IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

vba excel pb conversion heure


Sujet :

Macros et VBA Excel

  1. #1
    Invité de passage
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut vba excel pb conversion heure
    Bonjour,

    je souhaite convertir des infos en vba ds une cellule excel formatée "d/m/yy h:mm;@" (correspondant à "jj/mm/aaaa hh:mm:ss" )
    je veux reccuperer uniquement les heures et la dizaine des minutes
    par exemple pour "20/06/2006 17:13:55", je veux que cela devienne "17:10" cad car je fais des tris par dizaine de minutes.
    Jai essayé ca

    Code :


    newsheet.Cells(x, y).NumberFormat = "d/m/yy h:mm;@"
    TabRes = Split(Cells(x, y), " " )
    Cells(x, y) = Mid(TabRes(1), 1, 4)
    Cells(x, y).Select
    Selection.NumberFormat = "hh:m"



    masi jobtiens des cellules qui affiche 17:1 mais qui ont en donnée "17:01:00" au lieu de "17:1" et comment rajouter le zero

    merci pour tout aide


    Alex

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(x, y) = Mid(TabRes(1), 1, 5)
    Tu t'es trompé faut en prendre 5 de caractères pas 4
    Sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.NumberFormat = "hh:m"
    Si tu met "hh:mm" ? t'a pas le bon format ?

  3. #3
    Invité de passage
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    justement cest intentionnel ds prendre que 4,
    en fait je reccupere des heures que je classe ds une colonne dexcel avec des valeurs correspondantes ds une autre
    je fais des moyennes de ces valeurs, par dizaine de minutes. cest à dire que je recois des heures hh:mm:ss et moi je nai besoin que de hh:m (donc que les dizaines de minutes) pour faire mes moyennes. je nai pas besoin et je ne veux pas voir apparaitre une difference entre par exemple 17h51 et 17h54 :pour ces deux valeurs je veux qu'elles deviennent 17h50

    Alex

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Points : 20
    Points
    20
    Par défaut
    Si tu prends HH:m, tu auras les minutes, pas les dizaines de minutes.
    Recupéres hh:mm et fait ton formatage ensuite...

  5. #5
    Invité de passage
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    non je recupere bien les dizaines de minutes comme voulu (il reccupere les dizaines de minutes mais elle devienne des minutes)
    le probleme cest justement au niveau du formatage

    comment transformer 17:05:00 en 17:50:00 ??
    ou alors je reccupere toutes les minutes hh:mm mais comment formater
    17:51:00 en 17:50:00 ?

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Ton format qui va pas
    Là tu as même les secondes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Format(Now, "hh:nn:ss")
    Là tu as les minutes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox Format(Now, "hh:nn")
    Pour les minutes, c'est "nn", pas "mm"

  7. #7
    Invité de passage
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    "mm" marche tres bien pour reccup les minutes,
    je suis pas sur que tu es bien saisi mon pb, cela est surement du a ma facon de le presenter merci qd meme dessayer de maider

  8. #8
    Invité de passage
    Inscrit en
    Juin 2006
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    c bon jai reussi

    Code:

    Cells(x, y) = Mid(TabRes(1), 1, 4) & "0"
    Cells(x, y).Select
    Selection.NumberFormat = "hh:mm"

    merci a ceux ki ont essayé de maider

  9. #9
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    MsgBox Format(Now, "hh") & ":" & Format(Int(Val(Format(Now, "nn")) / 10) * 10, "00")
    ou encore mieux (car on garde un format time :

    MsgBox Format(TimeValue(Mid(Format(Now, "hh:mm"), 1, 4)), "hh:mm")

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    S'il te plait, enlève le select qui ne te sert qu'à alourdir ta procédure

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(x, y).NumberFormat = "hh:mm"
    .......................................

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Macro VBA excel de conversion
    Par Tikepi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/09/2010, 17h59
  2. problème Excell de conversion heures
    Par JPCEC dans le forum Excel
    Réponses: 2
    Dernier message: 27/09/2008, 00h51
  3. VBA-Excel-récupérer l'heure de création d un fichier
    Par captaine93 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 21/10/2006, 15h35
  4. [VBA][EXCEL]Conversion d'une chaine en single
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/11/2005, 17h28
  5. [VBA-E] macro conversion excel vers csv
    Par baboune dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/07/2004, 09h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo