Format nombre sur Excel

Résolu
Anthony G Messages postés 40 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'aurais besoin de votre aide car je me suis plongé dans des analyses de données en format temps.
Lorsque je récupère celles ci, elles sont au format 00:00.00 et 00.00 et ne sont donc pas reconnues en tant que "nombre".
Quel format devrais je mettre pour traduire ces données "temps" en format "temps standard" 00;00,00 pour pouvoir ensuite les traiter (faire des moyennes, soustraction, etc..).

J'ai déjà trouvé pas mal de réponses mais aucunes ne correspondent vraiment à mon cas. Petit détail, je suis à présent sur Mac (petite précision au cas où cela change quelque chose).


A voir également:

6 réponses

eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Effectivement, ça pose un problème.
Ca aurait pu être fait par formule mais ça t'obligerait à l'écrire sur toute une colonne et de finir par un copier-collage spécial valeur. Ce qui fait qcq manip...

Je te propose une macro.
Sélectionner la plage à convertir et lancer la macro convertirTemps (ou l'appeler par son raccourci Ctrl+t).
Tu peux traiter sur toutes les feuilles
D'un autre classeur aussi si celui-ci est ouvert, ou bien y coller la macro dans un module (Mise à jour d'une procédure).

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

eric
1
Anthony G Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Eriic, je tiens à te remercier pour la macro c'est super.

Ca va me permettre de traiter tout ceci beaucoup plus rapidement.

Dernière petite question: Si je souhaite mettre mes formats temps en mm:ss,00 au lieu de hh:mm:ss,00 comment dois je procéder?

J'ai essayer de modifier le format dans la macro mais il me dit qu'il y a une erreur de syntaxe...

Merci à tous!
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

c.NumberFormat = "mm:ss.00"
Avec peut-être une , pour toi
Si vraiment ça résiste crées-le d'abord dans les formats personnalisés sur une cellule.

Si tu dois t'en servir souvent copie la macro dans un classeur vide et enregistre-le en macro complémentaire (*.xlam). Elle sera toujours disponible. (garde un exemplaire en .xlsx si tu as d'autres ajouts ou modif à faire plus tard.

eric
0
Anthony G Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir Eric,

J'ai réussi à modifier le format et je t'en remercie.

Par contre je n'arrive pas à copier la macro dans un nouveau fichier, en tant que macro complémentaire..
C'est la première fois que je touche aux macros...

Si jamais tu a un peu de temps pour me donner les étapes à faire, ce serait génial.

Merci pour tout

Anthony
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
- Nouveau fichier
- Alt+F11 pour ouvrir vbe
- clic-droit dans le projet à gauche, insertion module
- coller le code :
Sub convertirTemps()
' traite la plage sélectionnée.
' les temps 'Texte' sont convertis en temps numérique
' 1:02.70 => 1:02.70
' 30.84 => 00:30.84
' les temps numériques affichés avec : sont conservés
'
    Dim c As Range, t As Variant, t2 As Variant
    For Each c In Selection
        If (Not IsNumeric(c) And InStr(c.Text, ":") > 0) Or (IsNumeric(c) And InStr(c.Text, ":") = 0) Then
            t = c.Value
            t = Replace(Replace(t, Chr(160), ""), " ", "")
            Select Case Len(t) - Len(Replace(t, ":", ""))
            Case 0
                t = "0:0:" & t
            Case 1
                t = "0:" & t
            End Select
            c = t
            c.NumberFormat = "mm:ss.00"
        End If
    Next c
End Sub
(j'ai ajouté qcq contrôles)
- retourner sur la feuille
- Alt+F8, 'Options...', choisir le raccourci clavier Ctrl+t
- enregistrer sous... une sauvegarde au format *.xlsm
- enregistrer sous... au format Macro Complémentaire Excel (*.xlam) (ne pas changer le répertoire choisi par excel)

eric
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
PS: un fichier *.xlam est chargé systématiquement à l'ouverture d'excel, il n'est pas visible.
Par contre ses macros et fonctions sont toujours disponibles pour les autres classeurs.
Dans l'onglet Développeur / Compléments' on peut activer/désactiver les macros complémentaires.
eric
0
PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824
 
Bonjour

Utiliser le format heure hh:mm:ss le séparateur sont les deux points sur PC pour MAC ?
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

et ne sont donc pas reconnues en tant que "nombre".
Donc c'est du texte.
Copier une cellule vide, sélectionner la plage et : collage spécial Addition.
Mettre en suite le format désiré.

eric
0
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour,
Si le séparateur de décimales est la virgule il faut commencer par remplacer le point par une virgule. Ceci peut être fait avec Remplacer ou une formule avec substitue.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Anthony G Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de votre aide mais malgré les solutions proposées, je n'y arrive toujours pas.

Mon souhait est de passer d'un format "texte" 00:00.00 à un format "nombre" 00:00,00
0
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Sur PC:
Edition Remplacer Rechercher . (point) Remplacer par , (virgule)
Ou bien en B2=SUBSTITUE(A2;".";",")
Ensuite comme le préconise eriiic:Copier une cellule vide, sélectionner la plage et : collage spécial Addition.
Mettre en suite le format désiré.


À condition qu'une espace (Car 32 ou Car 160) ne perturbe pas.
0
Anthony G Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Merci tontong pour ces explications très claires! Ca marche à merveille!
0
Anthony G Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
Heuu... Encore un petit problème...

Je ne peux pas traduire mes temps de ss.00 en mm:ss,00
Cela fonctionne très bien avec un format d'origine sous forme mm:ss.00 mais pas ss.00
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Déposer le fichier xls (réduit au nécessaire et anonymisé) sur cjoint.com et coller ici le lien fourni.
Préciser les cellules concernées.

eric
0
Anthony G Messages postés 40 Date d'inscription   Statut Membre Dernière intervention  
 
https://www.cjoint.com/?3BlwKYXPcei

Voici le lien du document. Les cellules concernées sont les colonnes D

Merci de votre aide!
0