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 :

Convertion format heures


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Ressources humaines
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Par défaut Convertion format heures
    Bonjour

    A partir d'un chiffre décimale, exemple 12.50 en A1, je souhaiterais à l'aide d'une vba, le convertir en 12:50
    Dans le code où on ne saisir pas les chiffres en centièmes, j'ai une msg box qui s'affiche avec le message"merci de mettre les heures en centièmes"

    Merci de votre aide

    Cdt

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 055
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La fonction TEMPS répond à ton problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TEMPS(ENT(A1);100*(A1-ENT(A1));1)
    Je te suggère la lecture de ce didacticiel Utiliser les fonctions Date et Heure sous Excel 2007 et tout particulièrement ce chapitre
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    J'ai cherché rapidement sur internet :
    http://boisgontierjacques.free.fr/pa...orkSheetChange
    => Dans "Saisie d'une heure avec ou sans le caractère :" télécharge le fichier "SaisieHeureSans2Points". Après quelque modif', cela répondra peut-être à tes attentes.

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Je n’ai pas bien compris.
    Tu semble vouloir convertir une heure exprimée en décimal en une heure exprimée en sexagésimal.
    Si c’est le cas, 12.50 n’équivaut pas à 12:50 mais à 12:30.

    Cordialement.

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 055
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par gFZT82 Voir le message
    Bonjour,
    Je n’ai pas bien compris.
    Tu semble vouloir convertir une heure exprimée en décimal en une heure exprimée en sexagésimal.
    Si c’est le cas, 12.50 n’équivaut pas à 12:50 mais à 12:30.
    Cordialement.
    Nous sommes bien d'accord là-dessus mais je pense que c'est une conversion à effectuer suite à un encodage décimal où l'on interprète 12,30 comme étant 12:30, 11,15 comme 11:15, 8,05 comme 08:05 et dans ce cas là on peut faire la conversion avec cette solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TEMPS(ENT(A1);100*(A1-ENT(A1));1)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre éclairé Avatar de Fluch
    Homme Profil pro
    Méthodiste flux
    Inscrit en
    Avril 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Méthodiste flux
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 48
    Par défaut Une possibilité
    Hello, si joint quelques lignes simples répondant à ton attente.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub Worksheet_Change(ByVal Target As Range)
    For T = 1 To Len(Cells(1, 1)) 'Boucle pour chercher la position du point (.)
        If Mid(Cells(1, 1), T, 1) = "." Then  'recherche du point de gauche à droite de la chaine
            Cells(1, 1) = Left(Cells(1, 1), T - 1) & ":" & Right(Cells(1, 1), Len(Cells(1, 1)) - T) 'Changement du . en :
            GoTo fin
        End If
    Next T
    fin:
    End Sub

    Cela fonctionne sur la cellule A1
    A toi de l'adapter à ton besoin

Discussions similaires

  1. [VB]Format heure enc millisecondes
    Par maillardd dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 02/02/2006, 10h17
  2. Format Heure : + de 24 H impossible
    Par priest69 dans le forum Access
    Réponses: 2
    Dernier message: 26/01/2006, 00h34
  3. probleme format heures access
    Par nath-nancy dans le forum Access
    Réponses: 9
    Dernier message: 28/11/2005, 17h36
  4. Convertir une chaine en format heure
    Par Lars dans le forum ASP
    Réponses: 3
    Dernier message: 24/05/2005, 12h44
  5. Format heure dans Interbase
    Par Battomura dans le forum InterBase
    Réponses: 2
    Dernier message: 14/03/2003, 14h17

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