A voir également:
- Convertir nbre en temps(h:mn:s) en vb
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Renommer plusieurs fichiers en même temps - Guide
- Convertir epub en kindle - Guide
- Convertir youtube en mp3 avec audacity - Guide
- Convertir kindle en epub - Guide
3 réponses
Il me semble que non, mais de toute façon, la fonction est assez triviale.
De tête je t'en fais une ici :
REMARQUES :
Fait gaffe au sens de '\' . C'est une division entière, ça retourne la partie entière de la division
Et modulo (Mod) retourne le reste de la division.
Voilà.
De tête je t'en fais une ici :
Function GetTime(ByVal intSeconds As Integer) As String Dim strTime As String Dim intH As Integer Dim intM As Integer Dim intS As Integer Dim intReste As Integer 'Obtenir les heures intH = intSeconds \ 3600 intReste = intSeconds Mod 3600 'Obtenir les minutes intM = intReste \ 60 intReste = intReste Mod 60 'Obtenir les secondes intS = intReste 'Construire la chaîne d'affichage strTime = intH & "h" & intM & "m" & intS & "s" GetTime = strTime End Function
REMARQUES :
Fait gaffe au sens de '\' . C'est une division entière, ça retourne la partie entière de la division
Et modulo (Mod) retourne le reste de la division.
Voilà.
Salut !
Moi aussi j'ai eu besoin d'une fonction pour transformer un nombre en temps, mais comme il n'en existe pas de toute faite, j'ai écrit une fonction moi-même. elle marche bien mais seulement si ton nombre est inférieur a 2 h soit 7200.
private sub transformer( nombre as integer) : string
dim h,m,s as integer
if nombre<60 then
chaine="0 : 0 : " & nombre
else
if nombre<3600 then
m=int(nombre/60)
s= nombre-(60*m)
chaine="0 : " & m & ":" & s
else
h=1
m=int((nombre/60)-60)
s =nombre-(60*int(nombre/60))
chaine= h & ":" & m & ":" & s
end if
end if
return (chaine)
end sub
Moi aussi j'ai eu besoin d'une fonction pour transformer un nombre en temps, mais comme il n'en existe pas de toute faite, j'ai écrit une fonction moi-même. elle marche bien mais seulement si ton nombre est inférieur a 2 h soit 7200.
private sub transformer( nombre as integer) : string
dim h,m,s as integer
if nombre<60 then
chaine="0 : 0 : " & nombre
else
if nombre<3600 then
m=int(nombre/60)
s= nombre-(60*m)
chaine="0 : " & m & ":" & s
else
h=1
m=int((nombre/60)-60)
s =nombre-(60*int(nombre/60))
chaine= h & ":" & m & ":" & s
end if
end if
return (chaine)
end sub
Quelques conseils relatifs à ton post :
1. Les Sub en VB ne retournent pas de valeur
Si tu as une procédure qui doit retourner une valeur ça doit obligatoirement être une fonction
2. La signature de la valeur du type de retour de la fonction est le même que pour le typage des variables : le mot clé 'As'
La signature de ta fonction doit dont être :
3. Enfin, en VB les passages de paramètres étant fait par défaut par référence, il est préférable, de préciser que ta fonction n'a pas l'intention de modifier la valeur du paramètre en déclarant que le passage du paramètre se fait par valeur :
Voili, voilou.
1. Les Sub en VB ne retournent pas de valeur
Si tu as une procédure qui doit retourner une valeur ça doit obligatoirement être une fonction
2. La signature de la valeur du type de retour de la fonction est le même que pour le typage des variables : le mot clé 'As'
La signature de ta fonction doit dont être :
Private Function Transformer(Nombre As Integer) As String End Function
3. Enfin, en VB les passages de paramètres étant fait par défaut par référence, il est préférable, de préciser que ta fonction n'a pas l'intention de modifier la valeur du paramètre en déclarant que le passage du paramètre se fait par valeur :
Function Transformer(ByVal Number As Integer) As String End Function
Voili, voilou.