VBA => Convertir format heure en numeric et vis versa

Résolu
Signaler
Messages postés
18
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
19 décembre 2005
-
Messages postés
18
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
19 décembre 2005
-
Bonjour,

Je suis en train de dévellopé une application et j'ai un problème qui se pose.

L'utilisateur doit pouvoir saisir dans un userform un temps "HH:MM" ou un service c'est arreter de fonctionner.

Ensuite pour faire mes calcul de pourcentage, je dois convertir mon format date en numerique.

Est-ce possible? Si oui comment faire?

Merci d'avance

5 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Ok, et bien comme je te le disais, utilise les fonctions de conversion DateDiff et DateAdd :
- Convertir une durée en secondes : NbSecondes = DateDiff("n", "00:00:00", "00:00:15")
Attention :
- les heures au format court 00:15 signifient 15 minutes pour VB
- le symbole des minutes est 'n' et pas 'm' qui est réservé au mois (month)
- Multiplie ces secondes par ton nombre d'utilisateurs
- Reconvertit en temps si besoin : DuréeTotale = DateAdd("n", NbTotalSecondes, "00:00:00")

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut

Ca manque d'explication. Pour moi, "HH:MM" est numérique.
Quel genre de calcul veux-tu faire ?
Tu peux toujours convertir une heure/minutes en secondes.
Regarde les fonctions DateDiff et DateAdd qui savent traiter les dates et heure pour faire des calculs.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
18
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
19 décembre 2005

Bonjour,

En faite je dois faire une multiplication, style j'ai 30 utilisateurs bloqué pendant 00:15 minute et la pafff débugage, normale puisque qu'il cherche des entiers. J'ai bien essayer de faire une fonction pour convertir par exemple 30 min en 0.5 heure. Mais je n'arrive pas a dissocier mes heures de mes minutes.
Datediff c'est pour calculer une différence entre deux dates. Dateadd je connais pas.
Mais honnetement je voit pas trop comment m'en sortir.

Merci d'avance
Messages postés
18
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
19 décembre 2005

Bonjour,
J'aimerais savoir si cela ne te dérange pas pourquoi est-ce que quand je convertie, cela m'affiche une heure 24 minute? ou une minute 24 seconde?

Sinon il est vrai que cela est une bonne solution . J'espere que tu pourra m'aider car je dois présenter qc demain.

Merci
Messages postés
18
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
19 décembre 2005

Je pense avoir compris comment faire. Merci beaucoup