Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 04/02/2010, 00h30   #1
Futur Membre du Club
 
Homme
Inscription : janvier 2010
Messages : 82
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : janvier 2010
Messages : 82
Points : 16
Points : 16
Par défaut Resultat de duree entre deux heures dans une txtbox

Bonjour le forum

Je but sur un problème

Je voudrais calculer le temps entre deux heures que je rentre dans 2 txtbox.
Je voudrais que se résultat s'affiche dans une troisième txtbox.

Merci de votre aide
crashfire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 01h09   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 444
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 444
Points : 12 758
Points : 12 758
Bonsoir:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub TextBox1_AfterUpdate()
Dim diffmin As Integer, h As Integer, mn As Integer
On Error GoTo fin
diffmin = DateDiff("n", CDate(Me.TextBox1), CDate(Me.TextBox2))
h = Int(diffmin / 60)
mn = diffmin - 60 * h
Me.TextBox3 = h & ":" & mn
fin:
End Sub
Private Sub TextBox2_AfterUpdate()
Dim diffmin As Integer, h As Integer, mn As Integer
On Error GoTo fin
diffmin = DateDiff("n", CDate(Me.TextBox1), CDate(Me.TextBox2))
h = Int(diffmin / 60)
mn = diffmin - 60 * h
Me.TextBox3 = h & ":" & mn
fin:
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 01h18   #3
Futur Membre du Club
 
Homme
Inscription : janvier 2010
Messages : 82
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : janvier 2010
Messages : 82
Points : 16
Points : 16
Merci mercatog

Comme toujours tu a la reponse loll

Pourrais tu m'expliquer ton code je comprend comment l'adapter
crashfire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 01h28   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 444
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 444
Points : 12 758
Points : 12 758
Avec le commentaire
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub TextBox1_AfterUpdate() 'après mise à jour de la donnée de textbox1
Dim diffmin As Integer  'la différence en minutes entre textbox1 et textbox2
Dim h As Integer  'le nombre d'heures dans diffmin
Dim mn As Integer  'les minutes restants
 
me.textbox3="" 'on vide textebox3
On Error GoTo fin  'si erreur (textebox1 ou 2 est vide ou une donnée non valide, on sort
diffmin = DateDiff("n", CDate(Me.TextBox1), CDate(Me.TextBox2)) 'F1 sur DateDiff ici la différences en minutes ("n")entre deux dates textbox1 et 2
h = Int(diffmin / 60)  'on divise par 60 et on prends la pertie entière
mn = diffmin - 60 * h  'les minutes restantes
Me.TextBox3 = h & ":" & mn 'on récupère dans textbox3 le résultat sous la forme h:min
fin:
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 03h33   #5
Futur Membre du Club
 
Homme
Inscription : janvier 2010
Messages : 82
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : janvier 2010
Messages : 82
Points : 16
Points : 16
je n'arrive pas a le faire fonctionner


Je t'envoie mon fichier si tu peux m'aider plus

Je l'ai remis comme il était

C'est dans mon UFCarte que je voudrais compter le temps entre départ et fin
Fichiers attachés
Type de fichier : zip BCD.zip (130,1 Ko, 6 affichages)
crashfire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 11h55   #6
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 444
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 444
Points : 12 758
Points : 12 758
Bonjour,
désolé, je suis encore en XL2003
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 12h51   #7
Membre habitué
 
Inscription : décembre 2007
Messages : 101
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 101
Points : 103
Points : 103
Bonjour

Ci dessous une macro pour calculer les heures

Appel de la procédure
Code :
1
2
3
4
5
6
Private Sub CommandFin_Click()
TextFin.Value = Time
If Not IsDate(TextPrise.Value) Or CStr(TextPrise) = "" Then Exit Sub
If Not IsDate(TextFin) Or CStr(TextFin) = "" Then Exit Sub
calculheure TextPrise, TextFin
End Sub
Code pouvant être utilisé pour le temps d'attente, par exemple

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub calculheure(tdated As MSForms.TextBox, tdatef As MSForms.TextBox)
Dim dated As Date
Dim datef As Date
Dim minuit As Date
dated = CDate(tdated.Value)
datef = CDate(tdatef.Value)
minuit = TimeSerial(24, 0, 0)
 
If datef > dated Then Me.TextDélai = Format(datef - dated, "hh:nn:ss")
If datef < dated Then Me.TextDélai = Format((minuit - dated) + datef, "hh:nn:ss")
End Sub
A tester

JP014
jp014 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 15h55   #8
Futur Membre du Club
 
Homme
Inscription : janvier 2010
Messages : 82
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations forums :
Inscription : janvier 2010
Messages : 82
Points : 16
Points : 16
Merci cela fonctionne

hop encore un resolut
crashfire est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 14h23.


 
 
 
 
Partenaires

Hébergement Web