Transformer un chiffre en heures minutes

Bonjour,

Dans un tableau Excel l'heure est dans une colonne et dans la colonne suivante est indiqué AM ou PM compte tenu qu'il s'agit d'heure Américaines. Ces deux colonnes sont concaténées dans une troisième colonne.

dans mon exemple il y a :
- En première colonne 5:57
- En seconde colonne PM
- En troisième colonne (Concaténée) 0.247916666666667 PM

Mon objectif est de transformé le chiffre de la troisième colonne en heures:minutes PM

Pour l'instant, je n'y arrive pas et j'espère obtenir votre aide.

Merci

6 réponses

  1. Bonjour,

    A1 l'heure
    B1 AM ou PM

    C1
    =TEXTE(A1;"h:mm")&" "&B1


    Cordialement
    0
    1. Bonjour PapyLuc51,

      Tout d'abord, un grand merci pour votre solution qui fonctionne parfaitement.

      Ensuite, mon second problème, est que dans la colonne dans laquelle s'affiche les heures transformées grâce à votre solution, j'ai des centaines d'heures différentes que je voudrais classer automatiquement par tranches horaires de une heure (Exemple: toutes les opérations réalisées entre 9:00AM et 10:00 AM ou encore entre 5:00 PM et 6:00 PM).

      J'avoue que là encore je cale et si vous pouviez me donner un dernier coup de main, je vous en serais reconnaissant.

      Cordialement.
      0
    2. @PapyLuc51Bonjour,

      Je pense à un tri personnalisé associé à des MFC pour la distinction de chaque tranche horaire
      Mise en place des MFC à faire une seule fois - opération de tri à réitérer à chaque ajout.

      https://www.cjoint.com/c/KIthBFLbEue

      Si tu veux que tout soit automatique il faut un code VBA associé à un bouton - je laisse le soin aux spécialistes de te concocter ça mais pour cela il faudra envoyer une copie de ton fichier (sans les données confidentielles) en utilisant

      cjoint.com

      ou https://mon-partage.fr/

      Cordialement
      0
    3. @PapyLuc51Bonjour PapyLuc51,

      Tout d'abord, je tiens à te remercier à nouveau pour tes dernières réponses. Cependant, j'avoue que je n'ai pas tout compris à leur application, c'est pourquoi j'ai préparé un fichier test que je t'envois à partir duquel il sera peut plus facile pour moi de comprendre les solutions que tu propose. Voici le lien pour accéder au fichier.

      https://www.cjoint.com/c/KItrj2AWC02

      Par avance, merci.
      0
  2. Bonjour,

    Modifiez la formule de concaténation et appliquez le format personnalisé: h:mm AM/PM


    Petite précision: avec ce système, vous pouvez additionner plusieurs horaires.

    Cdlt
    0
    1. Bonjour,
      Ce que je trouve bizarre c'est que 0.247916666666667 PM devrait être en AM
      de 0 à 0,5 c'est AM et au dessus "PM"

      sinon une formule sur la ligne 2 en D2
      =TEXTE(STXT(SUBSTITUE(C2;".";",");1;NBCAR(C2)-3)*1;"[$-409]h:mm AM/PM;@")
      0
      1. Bonjour M-12,

        Tout d'abord, je tiens à te remercier de l'intérêt que tu portes à mes problèmes Excel. Afin de faciliter les choses à chacun, j'ai préparé un fichier test que je t'envois. Voici le lien pour accéder au fichier.

        https://www.cjoint.com/c/KItrj2AWC02

        Par avance, merci.
        0
    2. Contributeur
      Bonjour
      et salut M12
      sans être catégorique: en heure anglaise les > que 12 sont remplacées par AM ou PM, donc en fonction de ta formule; il faudrait pour avoir une heure "européenne" compléter avec+ 0,5
      par ailleurs, ta formule suppose que PM ou AM est inclus dans la cellule C alors que cette info est sauf erreur en B
      le fait que l'info AM ou PM soit dans une colonne différente risque d'influencer le calcul, car ce type ne concerne pas le formatage de la cellule
      ce qui donnerait
      version américaine:
      =TEXTE(SUBSTITUE(C2;".";",")*1;"hh:mm")&" "&B2
      version Europe:
      =TEXTE(SUBSTITUE($C$2;".";",")*1+SI($B$2="PM";0,5;0);"hh:mm")

      à vérifier, bien sur, j'ai quand même un doute sur la valorisation Excel pour différencier PM et AM, je ne connais pas assez,

      Bonne journée

      crdlmnt
      0
      1. Bonjour Vaucluse,

        Tout d'abord, je tiens à te remercier de t'intéresser à nouveau à mes problèmes Excel. Afin de faciliter les choses à chacun, j'ai préparé un fichier test que je t'envois . Voici le lien pour accéder au fichier.

        https://www.cjoint.com/c/KItrj2AWC02

        Par avance, merci.
        0
    3. Salutations à tous

      Ernest19

      Ce .csv transformé en .xslx ne correspond pas à l'explication faite dans la question initiale.

      Ici les heures au format hh:mm sont sur une ligne et constituent les entêtes de colonne.

      Il n'y aucun exemple du résultat attendu.

      À te lire

      Cordialement
      0
      1. Merci pour cette réponse.
        Il est effectivement possible que ma question était mal formulée.
        En fait, je souhaite transformer les chiffres qui sont au format texte en 0,00 $ US en format chiffres monétaires $0,00 et ce pour toutes les colonnes du tableau.
        Je reste à ta disposition si tu as besoin de plus d’informations.
        Cordialement.
        0
    4. Re:

      Pour B8 (première cellule du tableau après transformation du .csv) sur la ligne des ventes brutes

      Dans une cellule en dehors du tableau cette formule (je ne connais que les fonctions en français), mise au format (voir la capture)



      =CNUM(STXT(B8;1;NBCAR(B8)-(TROUVE("$";B8;1)-1)))


      transforme le texte "0,00 $ US" en nombre "$0,00"

      Incrémente à droite et vers le bas.

      Copier toutes les cellules ainsi transformées et sur la première cellule du tableau initial (B8 en ce qui me concerne)

      clic droit, collage spécial, coller les valeur, mise en forme valeurs et nombres (A)

      En espérant avoir correctement répondu à ta demande

      https://www.cjoint.com/c/KIufMrnoh2e

      Cordialement
      0
      1. Et si tu veux ne pas voir les 0 quand le résultat est nul soit :

        - tu mets cette formule à la place de l'autre

        =SI(CNUM(STXT(B8;1;NBCAR(B8)-(TROUVE("$";B8;1)-1)))=0;"";CNUM(STXT(B8;1;NBCAR(B8)-(TROUVE("$";B8;1)-1))))


        - tu décoche l'affichage du 0 dans les options avancées de la page



        Cordialment
        0