OVH Cloud OVH Cloud

Transposition

6 réponses
Avatar
Grincheux
Bonjour,

J'ai une cellule sous excel contenant :
soit 1h
soit 4h25min
soit 1h10min10s
soit 40min
soit 45min2s
soit 55s

j'aimerais recéupérer chaque champs de cette cellule source et le
positionner dans la bonne cellule destination
Cellule 1 : Heure
Cellule 2 : Minute
Cellule 3 : Secondre

afin d'en faire des moyenne.

Est-ce que qq'un aurait une solution.

Merci d'avance.

6 réponses

Avatar
FxM
Bonjour,

Sous la forme d'une fonction perso :
http://cjoint.com/?ivm6souB7u

J'ai supposé que le cas 2h45s n'existe pas.

@+
FxM


Bonjour,

J'ai une cellule sous excel contenant :
soit 1h
soit 4h25min
soit 1h10min10s
soit 40min
soit 45min2s
soit 55s

j'aimerais recéupérer chaque champs de cette cellule source et le
positionner dans la bonne cellule destination
Cellule 1 : Heure
Cellule 2 : Minute
Cellule 3 : Secondre

afin d'en faire des moyenne.

Est-ce que qq'un aurait une solution.

Merci d'avance.


Avatar
Grincheux
Merci pour cette fonction.
J'ai juste un petit pb, ca ne fonctionne pas pour uniquement les secondes et
pour la 4ème colonne, je n'obtiens jamais le même réultat.
Mais j'ai réussi autrement en biaisant.

Merci encore.

@+
Arno.


Bonjour,

Sous la forme d'une fonction perso :
http://cjoint.com/?ivm6souB7u

J'ai supposé que le cas 2h45s n'existe pas.

@+
FxM


Bonjour,

J'ai une cellule sous excel contenant :
soit 1h
soit 4h25min
soit 1h10min10s
soit 40min
soit 45min2s
soit 55s

j'aimerais recéupérer chaque champs de cette cellule source et le
positionner dans la bonne cellule destination
Cellule 1 : Heure
Cellule 2 : Minute
Cellule 3 : Secondre

afin d'en faire des moyenne.

Est-ce que qq'un aurait une solution.

Merci d'avance.





Avatar
Grincheux
J'ai essayé de reprendre ton code pour prendre en compte 1h20s, mais pas si
simple que ça.


Bonjour,

Sous la forme d'une fonction perso :
http://cjoint.com/?ivm6souB7u

J'ai supposé que le cas 2h45s n'existe pas.

@+
FxM


Bonjour,

J'ai une cellule sous excel contenant :
soit 1h
soit 4h25min
soit 1h10min10s
soit 40min
soit 45min2s
soit 55s

j'aimerais recéupérer chaque champs de cette cellule source et le
positionner dans la bonne cellule destination
Cellule 1 : Heure
Cellule 2 : Minute
Cellule 3 : Secondre

afin d'en faire des moyenne.

Est-ce que qq'un aurait une solution.

Merci d'avance.





Avatar
FxM
Bonsoir,

Effectivement problème avec la reconstitution du temps.
Voici une version vérifiée et pouvant prendre en compte les jours.

@+
FxM

Public Function test(inp)
'transforme 1j12h24m12s en différentes cellules et
'reconstitue le temps. FxM MPFE 20060821
Dim tablo, a As Integer, j As Integer, h As Integer
Dim m As Integer, s As Integer, nb as string, txt as string
ReDim tablo(0, 4)

inp = Application.Substitute(inp.Value2, "min", "m")

nb = "": test = 0
For a = 1 To Len(inp)
txt = UCase(Mid(inp, a, 1))
Select Case txt
Case "0" To "9": nb = nb & Mid(inp, a, 1)
Case "J": tablo(0, 0) = CInt(nb): nb = ""
Case "H": tablo(0, 1) = CInt(nb): nb = ""
Case "M": tablo(0, 2) = CInt(nb): nb = ""
Case "S": tablo(0, 3) = CInt(nb): nb = ""
Case Else: Exit Function
End Select
Next a

tablo(0, 4) = tablo(0, 0) + tablo(0, 1) / 24
tablo(0, 4) = tablo(0, 4) + tablo(0, 2) / 24 / 60
tablo(0, 4) = tablo(0, 4) + tablo(0, 3) / 24 / 60 / 60

If Application.Caller.Rows.Count = 1 Then
test = tablo
Else
test = Application.Transpose(tablo)
End If
End Function


Merci pour cette fonction.
J'ai juste un petit pb, ca ne fonctionne pas pour uniquement les secondes et
pour la 4ème colonne, je n'obtiens jamais le même réultat.
Mais j'ai réussi autrement en biaisant.

Merci encore.

@+
Arno.


Bonjour,

Sous la forme d'une fonction perso :
http://cjoint.com/?ivm6souB7u

J'ai supposé que le cas 2h45s n'existe pas.

@+
FxM


Bonjour,

J'ai une cellule sous excel contenant :
soit 1h
soit 4h25min
soit 1h10min10s
soit 40min
soit 45min2s
soit 55s

j'aimerais recéupérer chaque champs de cette cellule source et le
positionner dans la bonne cellule destination
Cellule 1 : Heure
Cellule 2 : Minute
Cellule 3 : Secondre

afin d'en faire des moyenne.

Est-ce que qq'un aurait une solution.

Merci d'avance.






Avatar
Grincheux
Merci, tu me sauves la vie ... !!! :-)

@+
Arno.


Bonsoir,

Effectivement problème avec la reconstitution du temps.
Voici une version vérifiée et pouvant prendre en compte les jours.

@+
FxM

Public Function test(inp)
'transforme 1j12h24m12s en différentes cellules et
'reconstitue le temps. FxM MPFE 20060821
Dim tablo, a As Integer, j As Integer, h As Integer
Dim m As Integer, s As Integer, nb as string, txt as string
ReDim tablo(0, 4)

inp = Application.Substitute(inp.Value2, "min", "m")

nb = "": test = 0
For a = 1 To Len(inp)
txt = UCase(Mid(inp, a, 1))
Select Case txt
Case "0" To "9": nb = nb & Mid(inp, a, 1)
Case "J": tablo(0, 0) = CInt(nb): nb = ""
Case "H": tablo(0, 1) = CInt(nb): nb = ""
Case "M": tablo(0, 2) = CInt(nb): nb = ""
Case "S": tablo(0, 3) = CInt(nb): nb = ""
Case Else: Exit Function
End Select
Next a

tablo(0, 4) = tablo(0, 0) + tablo(0, 1) / 24
tablo(0, 4) = tablo(0, 4) + tablo(0, 2) / 24 / 60
tablo(0, 4) = tablo(0, 4) + tablo(0, 3) / 24 / 60 / 60

If Application.Caller.Rows.Count = 1 Then
test = tablo
Else
test = Application.Transpose(tablo)
End If
End Function


Merci pour cette fonction.
J'ai juste un petit pb, ca ne fonctionne pas pour uniquement les secondes et
pour la 4ème colonne, je n'obtiens jamais le même réultat.
Mais j'ai réussi autrement en biaisant.

Merci encore.

@+
Arno.


Bonjour,

Sous la forme d'une fonction perso :
http://cjoint.com/?ivm6souB7u

J'ai supposé que le cas 2h45s n'existe pas.

@+
FxM


Bonjour,

J'ai une cellule sous excel contenant :
soit 1h
soit 4h25min
soit 1h10min10s
soit 40min
soit 45min2s
soit 55s

j'aimerais recéupérer chaque champs de cette cellule source et le
positionner dans la bonne cellule destination
Cellule 1 : Heure
Cellule 2 : Minute
Cellule 3 : Secondre

afin d'en faire des moyenne.

Est-ce que qq'un aurait une solution.

Merci d'avance.









Avatar
FxM
Meuh non :o) Merci du retour.

@+
FxM


Merci, tu me sauves la vie ... !!! :-)

@+
Arno.


Bonsoir,

Effectivement problème avec la reconstitution du temps.
Voici une version vérifiée et pouvant prendre en compte les jours.

@+
FxM

Public Function test(inp)
'transforme 1j12h24m12s en différentes cellules et
'reconstitue le temps. FxM MPFE 20060821
Dim tablo, a As Integer, j As Integer, h As Integer
Dim m As Integer, s As Integer, nb as string, txt as string
ReDim tablo(0, 4)

inp = Application.Substitute(inp.Value2, "min", "m")

nb = "": test = 0
For a = 1 To Len(inp)
txt = UCase(Mid(inp, a, 1))
Select Case txt
Case "0" To "9": nb = nb & Mid(inp, a, 1)
Case "J": tablo(0, 0) = CInt(nb): nb = ""
Case "H": tablo(0, 1) = CInt(nb): nb = ""
Case "M": tablo(0, 2) = CInt(nb): nb = ""
Case "S": tablo(0, 3) = CInt(nb): nb = ""
Case Else: Exit Function
End Select
Next a

tablo(0, 4) = tablo(0, 0) + tablo(0, 1) / 24
tablo(0, 4) = tablo(0, 4) + tablo(0, 2) / 24 / 60
tablo(0, 4) = tablo(0, 4) + tablo(0, 3) / 24 / 60 / 60

If Application.Caller.Rows.Count = 1 Then
test = tablo
Else
test = Application.Transpose(tablo)
End If
End Function


Merci pour cette fonction.
J'ai juste un petit pb, ca ne fonctionne pas pour uniquement les secondes et
pour la 4ème colonne, je n'obtiens jamais le même réultat.
Mais j'ai réussi autrement en biaisant.

Merci encore.

@+
Arno.


Bonjour,

Sous la forme d'une fonction perso :
http://cjoint.com/?ivm6souB7u

J'ai supposé que le cas 2h45s n'existe pas.

@+
FxM


Bonjour,

J'ai une cellule sous excel contenant :
soit 1h
soit 4h25min
soit 1h10min10s
soit 40min
soit 45min2s
soit 55s

j'aimerais recéupérer chaque champs de cette cellule source et le
positionner dans la bonne cellule destination
Cellule 1 : Heure
Cellule 2 : Minute
Cellule 3 : Secondre

afin d'en faire des moyenne.

Est-ce que qq'un aurait une solution.

Merci d'avance.