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

Excel Discussion :

Format d'heure suite à une conversion de fichier


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 28
    Points
    28
    Par défaut Format d'heure suite à une conversion de fichier
    Bonjour à vous,

    J'ai un petit problème avec un fichier Excel provenant d'un autre logiciel. Ce fichier contient des heures et lorsque la donnée dépasse 1 heure tout va bien : Excel le considère comme suit [hh]:mm:ss. Mais, quand la donnée est de moins d'heure : il s'inscrit dans le format suivant hh:mm et il considère les minutes pour des heures et les secondes pour des minutes. Exemple : 35m25s devient 35:25 comme si c'était 35 heures.

    Est-ce qu'il a une possibilité de faire une macro pour convertir les données de moins d'une heure dans le bon format, peut-être aussi avec une formule?

    Si vous avez besoin de plus d'info, n'hésiter pas à me le formuler.

    Merci et bonne journée

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Compte tenu que je n'ai pas eu de réponse, je vais vous envoyer une pièce jointe

    Donc dans les colonnes F à I les heures qui sont de moins d'une heure correspondent en fait à minutes et secondes.

    Ex : la cellule F1 est inscrit 00:09:00 alors que cela correspond plutôt à 00:00:09.

    J'aimerais pouvoir modifier la donnée sans réinscrire manuellement chaque entrée de moins d'une heure.

  3. #3
    Membre averti
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Points : 442
    Points
    442
    Par défaut conversion des dates...
    J'ai nommé la zone baseheures et j'ai essayé la petite routine ci dessous : (c.text reprend le texte formaté ce qui m'a surpris je n'y croyais pas!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub trans()
    Dim zone As Range, c As Range
     
    Set zone = ThisWorkbook.Sheets("1au17dec").Range("baseheures")
    For Each c In zone
    c.Select
     If Len(c.Text) = 5 Then c.Value = c.Value / 60 
    Next c
     
     
    End Sub
    Et toutes les valeurs sur 5 caractères se divisent par 60 est ce suffisant?
    Il suffit de refaire le format pour toutes les cellules et ça marche.
    Nom : trans.jpg
Affichages : 106
Taille : 75,1 Ko

    le fichier avant éxécution de la macro trans :1au17dec.xlsm

  4. #4
    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 674
    Points
    18 674
    Par défaut




    Bonjour,

    l'idéal n'est pas d'intervenir à posteriori mais à la source !
    Si les données sont importées, mieux vaut corriger alors la procédure d'importation mal conçue …

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 28
    Points
    28
    Par défaut
    Bonjour Geogeo70,

    Cela fonctionne, mais malheureusement compte tenu que je veux inscrire des nouvelles données pour les dates suivantes dans le même onglet, les données précédemment convertis se redivisent par soixante.

    Est-ce qu'il serait possible que le "range" soit tout simplement la sélection présente.

    Merci et bonne journée,

  6. #6
    Membre averti
    Homme Profil pro
    retraité enseignement
    Inscrit en
    Mars 2013
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : retraité enseignement
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 213
    Points : 442
    Points
    442
    Par défaut conversion suite...
    Bonsoir,

    Le plus simple est de sélectionner les nouvelles cellules (même zones disjointes avec la touche CTRL pour un ensemble de zones disjointes)
    et de renommer cette sélection du même nom baseheures puis de lancer la macro.

    geogeo70

    PS: je viens de penser à une modification de la macro :

    Set zone = Application.Selection

    cela permet d'agir sur la zone sélectionnée directement,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub trans2()
    Dim zone As Range, c As Range
     
    Set zone = Application.Selection
     
    For Each c In zone
    c.Select
     If Len(c.Text) = 5 Then c.Value = c.Value / 60
    Next c
    End Sub
    bonne nuit...
    et bon noël

    geogeo70

Discussions similaires

  1. Dégradation suite à une conversion Physique vers Virtuel
    Par Gratiano dans le forum SharePoint
    Réponses: 3
    Dernier message: 29/04/2015, 15h10
  2. Accent suite à une conversion en utf8
    Par Cyril012 dans le forum Langage
    Réponses: 7
    Dernier message: 19/12/2013, 09h07
  3. conversion une chaine qui a un format d'heure
    Par Msysteme dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/12/2009, 14h04
  4. inclure un format d'heure dans une requête
    Par marc majewski dans le forum Oracle
    Réponses: 4
    Dernier message: 29/06/2009, 16h00
  5. utiliser un format "date heure" dans une formule
    Par Tonton Phil dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/08/2007, 14h37

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