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 :

Convertir un nombre de secondes en heures:minutes:secondes avec une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 105
    Points : 54
    Points
    54
    Par défaut Convertir un nombre de secondes en heures:minutes:secondes avec une macro
    Bonjour.

    J'aimerai convertir une colonne entière en mettant un nombres de secondes exemple 4545 secondes et l'afficher dans ce format: 01:15:45 avec une macro dans exel.

    Présentement je suis capable de faire la conversion en utilisant deux colonnes et en divisant la case de droite par 86400 le chiffre contenu dans la case de gauche ca me donnes le bon résultat mais je dois utiliser deux colonnes et faire la conversion ligne par ligne et je ne sais jamais combien de lignes je vais utiliser.

    Est-ce possible et si oui, quel serai le code de la macro?

    Merci de votre aide

    papoux

  2. #2
    Membre expérimenté
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Points : 1 580
    Points
    1 580
    Par défaut
    Bonjour,
    Excel stocke les dates dans un format numérique, où la partie entière représente le nombre de jours depuis le 31.12.1899, et la partie décimale représente les heures, minutes, secondes.
    Il suffit donc de transformer le nombre de secondes en date en le divisant par le nombre de secondes dans un jour (24*60*60 = 86400), puis de lui appliquer le format heure.
    Ainsi, la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Format(4545/86400 ,"hh:mm:ss")
    renverra une chaîne de caractères contenant "01:15:45"

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 105
    Points : 54
    Points
    54
    Par défaut
    Bon c'est un début

    Merci.

    Maintenant, je fais quoi avec ce code, je l'insère ou ?
    J'aimerai que la colonne entière ai cette commande.
    Présentement j'ai un bon résultat en utilisant deux colonnes, celle de gauche dans laquelle je met le nombre en secondes et celle de droite dans laquelle je convertis le nombres de secondes en divisant par 86400, mais j'aimerai ne pas avoir a utiliser deux colonnes. Et le problème aussi en utilisant deux colonnes c'est que si je n'ai pas de chiffre dans la colonne de gauche, il apparaît quand même des 00:00:00 dans la colonne de droite, j'aimerai que s'il n'y a pas de nombres rien n'apparaisse.

    P.S. A chaque rangées le nombres de secondes va varier, c'est une banque de données qui enregistre les temps d'arrêts d'une machine.

    Papoux

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Papoux Voir le message
    Présentement j'ai un bon résultat en utilisant deux colonnes, celle de gauche dans laquelle je met le nombre en secondes et celle de droite dans laquelle je convertis le nombres de secondes en divisant par 86400, mais j'aimerai ne pas avoir a utiliser deux colonnes.
    Il te suffit d'intégrer ton "/86400" aux formule de la première colonne ou de la masquer.

    Et le problème aussi en utilisant deux colonnes c'est que si je n'ai pas de chiffre dans la colonne de gauche, il apparaît quand même des 00:00:00 dans la colonne de droite, j'aimerai que s'il n'y a pas de nombres rien n'apparaisse.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(LC(-1)="";"";LC(-1)/86400)
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 105
    Points : 54
    Points
    54
    Par défaut
    Je ne comprend pas, il me faudrais plus de détail.
    Si je veux utiliser qu'une seule colonne et qu'elle se convertisse dans le format que je désire, comment dois-je procéder, ou mettre le code et s'il sagit de la colonne 4 comment procéder pour que ça soit que celle la.

    Et le code, je le place ou et si je veux qu'il soit que pour la colonne 6, je l'identifie comment ?

    Je n'y connais pas grand chose des macros.

    Merci de me répondre avec plus de détail.

    Papoux

  6. #6
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Papoux Voir le message
    Je ne comprend pas, il me faudrais plus de détail.
    C'est toi qui devrait donner plus de détails.
    Où se trouvent tes données sources ? Sous quelle forme sont-elles ? Valeurs brutes ou formules ?

    Et le code, je le place ou et si je veux qu'il soit que pour la colonne 6, je l'identifie comment ?
    Je n'y connais pas grand chose des macros.
    Quel code ? Il n'y a pas un seul élément de macro dans les réponses qui t'ont été données.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  7. #7
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 105
    Points : 54
    Points
    54
    Par défaut
    Il me semble avoir été assez clair dans la définition de mon problème.

    Oublie ça, tu y vas toujours par parabole et il faut continuellement déchiffrer ce que tu écrit. Tu oublis peut-être qu'on est pas tous au même niveau, sinon, je ne viendrais pas ici pour poser des questions avoir tes connaissances.

    Merci tout de même.

    Papoux

  8. #8
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 105
    Points : 54
    Points
    54
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Il te suffit d'intégrer ton "/86400" aux formule de la première colonne ou de la masquer.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(LC(-1)="";"";LC(-1)/86400)
    Et pour moi ça c'est un code.

    Papoux

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Papoux Voir le message
    Et pour moi ça c'est un code.
    Le code, c'est ce qui se met dans une macro.
    Ca, c'est une simple formule à mettre dans une cellule Excel.

    Citation Envoyé par Papoux Voir le message
    tu y vas toujours par parabole et il faut continuellement déchiffrer ce que tu écrit.
    Les deux questions que j'ai posé sont pourtant tout à fait concrètes.
    Si on ne peut pas savoir dans quelle cellules se trouvent tes données sources, comment écrire une formule qui s'y réfère ?
    Si on ne sais pas si tes données sources sont de simples chiffres ou si elles sont issues de formules, comment savoir si on peut les modifier ?

    Si répondre à des questions simples te semble un effort insurmontable pour aider à résoudre ton propre problème, je ne vois pas pourquoi moi je ferais un effort encore supérieur en cherchant la solution.
    Je prends sur mon temps personnel pour t'aider alors que je ne te connais même pas. Je n'espère pas en recevoir la moindre gratitude mais si en plus il faut supporter des propos agressifs quand on demande simplement des renseignements complémentaires, très peu pour moi.

    Bonne chance.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut



    Et c'est pour cela, Loïc, que je ne réponds pas lorsque la problématique n'est ni claire ni exhaustive …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  11. #11
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    J'ai remarqué que c'était effectivement la coutume sur ce forum.
    J'avais jusque là le réflexe contraire de conseiller aux personnes de compléter ou modifier leurs demandes quand elle étaient insuffisantes ou inadaptées, plutôt que de les laisser dans un néant d’incompréhension.
    Mais vu le chapelet de que ça m'a rapporté, je crois qu'à l'avenir je vais essayer d'avoir assez de self-contrôle pour m'abstenir.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut heu
    bonjour
    je voudrais 2 pains au chocolat le matin ,que mon excel arrete de buguer et si possible des codes pret a l'emplois gratuitement a chaque fois que je le demande

    heu.....s'il vous plais bien sur
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    Invité
    Invité(e)
    Par défaut
    tu viens de faire tes 3 vœux le bon génie ne peut plus rien pour toi!
    Citation Envoyé par patricktoulon Voir le message
    bonjour
    je voudrais 2 pains au chocolat le matin ,que mon excel arrete de buguer et si possible des codes pret a l'emplois gratuitement a chaque fois que je le demande

    heu.....s'il vous plais bien sur

Discussions similaires

  1. [XL-2007] convertir des minutes en heures minutes secondes
    Par djoenis dans le forum Excel
    Réponses: 9
    Dernier message: 04/04/2011, 20h48
  2. convertir un integer en heure:minute:seconde
    Par dirty_harry dans le forum Oracle
    Réponses: 1
    Dernier message: 07/01/2010, 17h51
  3. Conversion de x secondes, en heures-minutes-secondes!
    Par metalquebec dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 09/09/2009, 18h29
  4. Réponses: 1
    Dernier message: 30/04/2008, 11h00
  5. Réponses: 3
    Dernier message: 15/04/2008, 08h27

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