Excel : Format cellule : durée

Résolu
Bloublou -  
Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Etant assez débutant dans l"utilisation de MS Excel, j'ai un petit soucis...

En effet, je voudrais bien créer une colonne reprennant des durées en minutes, que je pourrais ensuite exploiter(Formules, etc...).

Seulement, mes données sont au format "xx min xx s" et sont reconnues comme du texte et non comme des durées...

Si quelqu'un pouvait m'aider à rendre ces données exploitables ce serait très gentil ;)

Merci d'avance!
Configuration: Windows XP
Firefox 2.0.0.12

9 réponses

  1. Bloublou
     
    Merci à vous,
    Mais après avoir fait cela, je n'arrive toujours pas à utiliser les données pour faire une moyenne par exemple...
    J'ai des erreurs du type "#DIV/0!" ou "#VALEUR!", comme si mes données n'étaient toujours pas reconnues en tant que durées.
    (Peut-être parce qu'elles sont exprimées en "xx min xx s" et pas en "xx h xx min xx s", et les minutes dépassent parfois 60...)

    Merci pour l'aide précieuse ;)
    1
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bonsoir blou, nico, Jean- Pierre

      Il faut d'abord transformer le texte en nombre... J'ai considéré qu'il y avait toujours un espace entre les "mots" par exemple 12 min 13 s et non 12 min 13s sinon mon truc ne marche pas. Voici la fonction proposée:

      Function traduire_durée(duree As Range) As Date
      Dim tablo() As String
      tablo = Split(duree)
      traduire_durée = CDate("00:" & tablo(0) & ":" & tablo(2))
      End Function


      Pour installer, tu vas dans VBE en faisant Alt+ F11 (la touche F11!)

      Ensuite insertion -module et tu colles cette fonction

      Dans excel tu ta places où tu veux la traduction et tu vas dans insertion-fonction- fonction personnalisée; le résultat va te donner un résultat du genre 0,0084...

      Pour traduire au format, tu utilises la méthode indiquée par mes 2 petits camarades en choisissant le format 37:30:55
      (XL 2000)

      Joyeuses Pâques, etc.
      Michel
      0
  2. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    Bonjour,
    Sélectionner la cellule (ou la plage) puis dans barre d'outils "Format" clic sur "Cellule" ensuite sur Onglet Nombre et sous Catégorie choisir Heure et ensuite le type qui vous convient .
    0
  3. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    Bonjour michel:m,
    Attention, il n'est pas certain que Bloublou travail avec du VBA.
    Si le format des cellule est correct il n'est pas impératif de faire du VBA.
    Il serait préférable qu'il précise un peu mieux ce qu'il veut faire ou encore mieux, mettre le classeur sur https://www.cjoint.com/
    0
  4. Bloublou
     
    Merci :)

    Le truc de michel_m marche très bien, sauf pour les durées de plus de 60 min...
    http://img231.imageshack.us/img231/769/excelmw6.jpg

    Sinon mon travail consiste à modifier un fichier .xls existant.
    Fichier actuel : https://www.cjoint.com/?dwuDdU04WN
    Fichier de départ : https://www.cjoint.com/?dwuEEKWITh

    Et les consignes :
    1. COMPRENDRE LE CONTENU DU FICHIER

    • Observez attentivement l'ensemble des données (utilisez les ascenseurs pour
    explorer le contenu de la feuille).
    • Alignez correctement les données de même type.
    • Créez une ligne de titre sachant que les chiffres représentent d’une part, le
    nombre de plages par CD, et d’autre part, la durée totale (minutes) des
    enregistrements de chaque disque.
    • Éliminez les bordures indésirables et soulignez la ligne de titres.
    • Ajoutez un en-tête comportant vos nom, prénom, section, et la date du jour.
    • Vérifiez et uniformisez le format des cellules, essentiellement celles qui
    contiennent les données chiffrées.
    • Triez les CD par nom d’auteur.
    • Imprimez le tableau sur feuille(s) A4. Il constitue la première pièce de votre
    dossier.

    2. ANALYSE QUANTITATIVE

    • Créez une nouvelle feuille et recopiez-y l’ensemble des données.
    • Recherchez la fonction d’Excel qui permet de calculer le nombre de CD
    dans chaque catégorie de musique.
    • Calculez la durée totale des enregistrements pour l’ensemble de la
    discothèque.
    • Calculez pour chaque disque, la durée moyenne d'une plage.
    • Sur une page séparée, répondez aux questions suivantes :
    2.a. Quelle est la fonction d’Excel qui permet de calculer le nombre de CD
    dans chaque catégorie de musique?
    2.b. Quelle est la durée totale des enregistrements pour l'ensemble de la
    discothèque?
    2.c. Quelle est la durée est la durée moyenne d'une plage?
    Imprimez cette page et joignez la à votre dossier.
    3. CREER UN GRAPHIQUE
    • Utilisez l'Assistant Graphique pour créer un graphique par secteurs ("tartes")
    permettant de décrire les types de musique présents dans la discothèque et
    leur importance relative exprimée en nombre de disques par catégorie.
    • Veillez à insérer le tableau sur une troisième feuille, à laquelle vous
    ajouterez le même en-tête que précédemment.
    • Imprimez cette page et joignez la à votre dossier.

    Et tout ça évidemment sans avoir eu un seul cours sur Excel...

    Je ne vous demande pas de tout faire à ma place hein =)

    Merci!
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Avec ta durée en E2 saisis: =(GAUCHE(E2;2)*60+STXT(E2;8;2))/24/60/60
    et tu mets le format heure que tu veux.
    Explication :
    =GAUCHE(E2;2)*60+STXT(E2;8;2) : récupère le nombre d'heures dans ta chaine (GAUCHE(E2;2)) et l'exprime en minutes (*60), et ajoute le nombre de minutes dans ta chaine (STXT(E2;8;2)).
    Tu obtiens un temps en minutes à convertir en date/heure excel.
    Pour excel l'heure (ou le temps) est exprimé en fraction de jour donc : /24/60/60 et tu obtiens une durée manipulable par excel qui s'affiche différemment selon le format de cellule que tu choisis

    eric
    0
  7. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonsoir à tous,

    Eric, Ok pour ta formule mais que se passe t il si par exemple , il n'y a qu'un seul chiffre dans les minutes ou secondes... c'est ce qui m'avait amené à proposer la fonction.

    Bloublou,

    J'ai regardé le fichier excel de départ, il n'est pas question de durée de la forme "xx min xx s" mais de durées de la forme 52,25 par exemple et dans les questions de ton prof on ne te demande pas ce genre d'exploit... Je n'ai pas pu regarder le 2° car format XL2007.

    A propos, ca me parait très scolaire tes consignes: de quoi ne pas rendre une personne autonome dans la vie professionnelle. mais bon, c'que j'en dis....

    Je regarde pour les durées >= 60 minutes. (ce soir ou demain)

    Michel
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Re,

      voici la fonction modifiée:

      Function traduire_durée(duree As Range) As Date
      Dim tablo() As String, hr As Byte, mt As Byte

      tablo = Split(duree)

      If tablo(0) < 60 Then
      mt = tablo(0)
      Else
      hr = Int(tablo(0) / 60)
      mt = tablo(0) Mod 60
      End If

      traduire_durée = hr & ":" & mt & ":" & tablo(2)
      End Function


      Ensuite, il faut mettre: format cellule -nombre - catégorie: "personnalisée"

      et dans type saisir [mm]:[ss]

      j'vas au dodo
      Michel
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      J'ai eu l'avantage d'avoir le tableau en exemple avant de répondre et là aucune ambiguité.
      0
    3. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
       
      Bonjour michel_m,
      Petite information en passant au sujet du fichie "xlsx" (Je n'ai pas pu regarder le 2° car format XL2007)
      Si vous le télécharger de WWW.cjoint vous recevez un fichier d'extension (*.zip) vous lui redonnez l'extension originale en *.xlsx .
      Au préalable il faut avoir le convertisseur de MSO disponible à cette adresse:
      http://download.microsoft.com/download/F/B/5/FB5E3E54-D589-4697-98B8-58A0FB96F829/O2007Cnv.exe
      Une fois installer double clic sur fichier xlsx est c'est ouvert ..... comme un oeuf de Pâques ....


      Salutations.
      Jean-Pierre
      0
  8. Bloublou
     
    Merci à tous, j'y suis arrivé en utilisant le truc d'Eric, mais peut être que celui de michel est tout aussi efficace :)
    A bientôt !
    0
  9. Le Pingou Messages postés 12275 Date d'inscription   Statut Contributeur Dernière intervention   1 477
     
    Bonsoir,
    Juste une petite chose, en lisant le descriptif de Bloublou au poste 6 il semble que l'exercice doit se faire à l'aide des fonctions Excel et non pas avec le VBA, dans se sens c'est la proposition d' eriiic qui prime.
    Bonnes fêtes de Pâques à vous tous.
    0
  10. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
     
    bonsoir,
    sélectionner les cellules concernées puis
    clic sur FORMAT puis CELLULE dans l'onglet NOMBRE clic sur heure.

    Bonne soirée
    -2