Accéder au contenu principal

Comment compter les heures/jours/semaines passées sur un rendez-vous ou une réunion dans Outlook ?

Author: Kelly Last Modified: 2025-08-06

Disons qu'il y a beaucoup de rendez-vous et de réunions dans un calendrier dans Outlook. Et maintenant, vous souhaitez compter les heures/jours/semaines passées sur ces rendez-vous et réunions, avez-vous une idée ? Cet article présentera une macro VBA pour vous aider.

Compter les heures/jours/semaines passées sur un rendez-vous ou une réunion avec VBA


Compter les heures/jours/semaines passées sur un rendez-vous ou une réunion avec VBA

Cette méthode présentera une macro VBA pour compter les heures ou minutes passées sur le rendez-vous ou la réunion spécifiés dans Outlook. Veuillez procéder comme suit :

1. Passez au dossier Calendrier, puis cliquez pour sélectionner le rendez-vous ou la réunion dont vous voulez compter les heures passées.

2. Appuyez simultanément sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

3. Cliquez sur Insérer > Module, puis collez le code VBA ci-dessous dans la fenêtre Module qui s'ouvre.

VBA : Compter les heures/minutes passées sur un rendez-vous ou une réunion dans Outlook

Sub CountTimeSpent()
Dim oOLApp As Outlook.Application
Dim oSelection As Outlook.Selection
Dim oItem As Object
Dim iDuration As Long
Dim iTotalWork As Long
Dim iMileage As Long
Dim iResult As Integer
Dim bShowiMileage As Boolean

bShowiMileage = False

iDuration = 0
iTotalWork = 0
iMileage = 0

On Error Resume Next

    Set oOLApp = CreateObject("Outlook.Application")
Set oSelection = oOLApp.ActiveExplorer.Selection

    For Each oItem In oSelection
If oItem.Class = olAppointment Then
iDuration = iDuration + oItem.Duration
iMileage = iMileage + oItem.Mileage
ElseIf oItem.Class = olTask Then
iDuration = iDuration + oItem.ActualWork
iTotalWork = iTotalWork + oItem.TotalWork
iMileage = iMileage + oItem.Mileage
ElseIf oItem.Class = Outlook.olJournal Then
iDuration = iDuration + oItem.Duration
iMileage = iMileage + oItem.Mileage
Else
iResult = MsgBox("Please select some Calendar, Task or Journal items at first!", vbCritical, "Items Time Spent")
Exit Sub
End If
Next

Dim MsgBoxText As String
MsgBoxText = "Total time spent: " & vbNewLine & iDuration & " minutes"

If iDuration > 60 Then
MsgBoxText = MsgBoxText & HoursMsg(iDuration)
End If

If iTotalWork > 0 Then
MsgBoxText = MsgBoxText & vbNewLine & vbNewLine & "Total work recorded; " & vbNewLine & iTotalWork & " minutes"

If iTotalWork > 60 Then
MsgBoxText = MsgBoxText & HoursMsg(iTotalWork)
End If
End If

If bShowiMileage = True Then
MsgBoxText = MsgBoxText & vbNewLine & vbNewLine & "Total iMileage; " & iMileage
End If

    iResult = MsgBox(MsgBoxText, vbInformation, "Items Time spent")

ExitSub:
Set oItem = Nothing
Set oSelection = Nothing
Set oOLApp = Nothing
End Sub

Function HoursMsg(TotalMinutes As Long) As String
Dim iHours As Long
Dim iMinutes As Long
iHours = TotalMinutes \ 60
iMinutes = TotalMinutes Mod 60
HoursMsg = " (" & iHours & " Hours and " & iMinutes & " Minutes)"
End Function

4. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter cette macro VBA.

Et maintenant, une boîte de dialogue apparaît et montre combien d'heures/minutes le rendez-vous/sélectionné a duré. Voir capture d'écran :

using vba to count hours/days/weeks spent on an appointment or meeting in Outlook

Remarque : Vous pouvez sélectionner plusieurs rendez-vous ou réunions en même temps pour compter le nombre total d'heures/minutes passées dessus avec ce code VBA.


Articles Connexes

Compter le nombre total de conversations dans un dossier dans Outlook

Compter le nombre total de pièces jointes dans les emails sélectionnés dans Outlook

Compter le nombre de destinataires dans les champs À, Cc et CCI dans Outlook

Compter le nombre d'emails par expéditeur dans Outlook


Meilleurs outils de productivité pour Office

Dernière nouvelle : Kutools pour Outlook lance une version gratuite !

Découvrez le tout nouveau Kutools pour Outlook avec plus de100 fonctionnalités incroyables ! Cliquez pour télécharger dès maintenant !

🤖 Kutools IA : Utilise une technologie avancée d’intelligence artificielle pour gérer vos emails en toute simplicité, notamment répondre, résumer, optimiser, étendre, traduire et rédiger des emails.

📧 Automatisation des emails : Réponse automatique (disponible pour POP et IMAP) / Programmation de l’envoi des emails / CC/BCC automatique selon des règles lors de l’envoi / Transfert automatique (Règle avancée) / Ajout automatique de la salutation / Fractionnement automatique des emails multi-destinataires en messages individuels...

📨 Gestion des emails : Rappeler les emails / Bloquer les emails frauduleux par sujet et autres critères / Supprimer les emails en double / Recherche Avancée / Organiser les dossiers...

📁 Pièces jointes Pro:Enregistrer par lot / Détachement par lot / Compression par lot / Enregistrer automatiquement/ Détachement automatique/Compression automatique...

🌟 Magie de l’interface : 😊Davantage d’emojis beaux et sympas / Recevez une alerte en cas d’email important / Réduisez Outlook au lieu de le fermer...

👍 Fonctions en un clic : Répondre à tous avec pièces jointes / Anti-phishing emails / 🕘Afficher le fuseau horaire de l’expéditeur...

👩🏼‍🤝‍👩🏻 Contacts & Calendrier: Ajouter des contacts en lot à partir des emails sélectionnés / Diviser un groupe de contacts en groupes individuels / Supprimer le rappel d’anniversaire...

Utilisez Kutools dans la langue de votre choix– prend en charge l’anglais, l’espagnol, l’allemand, le français, le chinois, et plus de40 autres langues !

Débloquez instantanément Kutools pour Outlook en un seul clic. N’attendez plus, téléchargez maintenant et augmentez votre productivité !

kutools for outlook features1 kutools for outlook features2