Autres convertir 2 minutes 30 en secondes...

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

hervoul

XLDnaute Occasionnel
Bonsoir,
J'ai vu plein de réponses , mais ça ne marche pas, ma cellule prends heures et minutes et non minutes et secondes
Donc désolé c'est un peu redondant....
Donc j'ai 2:30 dans une cellule, je voudrai la convertir en secondes dans une autre cellule...
Merci et désolé pour le sujet déjà traité 1000 fois....
RVoul
 

Pièces jointes

Solution
Bonjour.
N'oubliez jamais que l'unité de temps des valeurs de cellules relevant des formats de dates et d'heures est toujours le jour.
Donc, en AF2 :
Code:
=0,5/(AE2*24)
avec format de cellule Standard.

Par ailleurs je vous déconseille d'utiliser le séparateur ":" pour des durées saisies ou affichées non standard, ne commençant pas par l'heure. Prenez plutôt l'apostrophe, et comme ce n'est pas interprété par Excel, transformez ce texte en valeur en jours dès le début.
Dans Feuil1 (Perf 3x500) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.CountLarge <> 1 Then Exit Sub
   If Intersect(Me.[D:D,F:F,H:H], Target) Is Nothing Then Exit Sub
   If VarType(Target.Value) <> vbString Then Exit Sub
   If Not Target.Value Like...
perso je ne m'ennuie pas avec ces considérations
je met ma colonne au format nombre sans decimales
et ma formule
=CNUM(TEXTE(CNUM(A2)*86400;"#0"))
demo.gif
 
re
je vois pas pourquoi s'ennuyer a faire des calculs alors que la fonction existe
avec texte et le format voulue dans des accolades
le tout englobé encore une fois dans une fonction existante qui est CNUM
= fonction CNUM(fonction TEXTE(valeur ou cellule;"[unite demandé]"))
le fait de mettre le format entre accolades fait l'addition
c'est l'homologue de application.text de VBA


la même chose exactement pareil en VBA
VB:
Sub test()
MsgBox CLng(Application.Text(TimeValue("00:01:47"), "[ss]"))
End Sub
pas compliqué 😉
 
Bonjour.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.CountLarge <> 1 Then Exit Sub
   If VarType(Target.Value) <> vbString Then Exit Sub
   If Not Target.Value Like "*'*" Then Exit Sub
   Target.NumberFormat = "[m]\'ss"
   Target.Value = VBA.TimeValue("00:" & Replace(Target.Value, "'", ":"))
   End Sub
Ça c'est pour la cellule de saisie xx, et bien entendu dans l'autre cellule où vous les voulez en secondes, c'est =86400*xx avec format Standard.
Si vous pouvez être amené à saisir plus de 59 min 59 s il vaudrait peut être mieux :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.CountLarge <> 1 Then Exit Sub
   If VarType(Target.Value) <> vbString Then Exit Sub
   If Not Target.Value Like "*'*" Then Exit Sub
   Dim T() As String: T = Split(Target.Value & "''", "'")
   If T(0) = "" Then T(0) = "0"
   If T(1) = "" Then T(1) = "0"
   Target.NumberFormat = "[m]\'ss"
   Target.Value = TimeSerial(0, T(0), T(1))
   End Sub
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
72
Affichages
1 K
Réponses
9
Affichages
873
Réponses
10
Affichages
547
Retour