Accéder au contenu principal

Comment empêcher Outlook de rappeler trop tôt ou trop tard ?

Author: Kelly Last Modified: 2025-08-06

Par exemple, vous travaillez tous les jours de 9h00 à 18h00, mais maintenant vous prenez un rendez-vous à 10h00 et ajoutez un rappel de 2 heures pour celui-ci dans Outlook. Cela signifie que le rappel se déclenchera à 8h00, avant le début de votre journée de travail. D'un autre côté, le rappel peut également se déclencher en pleine nuit dans des cas particuliers. C'est assez gênant, et certains utilisateurs d'Outlook peuvent vouloir éviter qu'Outlook ne rappelle trop tôt ou trop tard. Je vais ici vous présenter une macro VBA pour résoudre ce problème dans Outlook.

Office Tab - Activez l'édition et la navigation par onglets dans Microsoft Office, rendant le travail facile
Débloquez Kutools pour Outlook maintenant et profitez de plus de 100 fonctionnalités avec un accès illimité pour toujours
Boostez votre Outlook 2024 - 2010 ou Outlook 365 avec ces fonctionnalités avancées. Profitez de plus de 100 fonctionnalités puissantes et améliorez votre expérience email !

Pour empêcher Outlook de rappeler trop tôt ou trop tard, vous pouvez procéder comme suit :

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

Étape 2 : Développez Microsoft Outlook Objects dans le volet de gauche, puis collez la macro VBA suivante dans ThisOutlookSession.

VBA : Empêcher les rappels trop tôt ou trop tard dans Outlook

Public WithEvents g_CalendarItems As Outlook.Items
Public Sub Application_Startup()
Set g_CalendarItems = Outlook.Session.GetDefaultFolder(olFolderCalendar).Items
End Sub
Private Sub g_CalendarItems_ItemAdd(ByVal Item As Object)
CheckReminder Item
End Sub
Private Sub g_CalendarItems_ItemChange(ByVal Item As Object)
CheckReminder Item
End Sub
Sub CheckReminder(ByVal Item As Object)
On Error GoTo ProcError
Dim strProcName As String
strProcName = "CheckReminder"
reminderMaxHour = 20
reminderMinHour = 9
Dim aAptItem As Outlook.AppointmentItem
Set aAptItem = Item
If aAptItem.ReminderSet Then
Dim reminderDate As Date
reminderDate = aAptItem.Start - aAptItem.ReminderMinutesBeforeStart / (24 * 60)
reminderHour = (reminderDate - Int(reminderDate)) * 24
tolerance = 0.01 ' avoid floating point small diffs (little bit less than a min)
If reminderHour < reminderMinHour - tolerance Or reminderHour > reminderMaxHour + tolerance Then
' best guess, first try to advance to next minHour
reminderDateSuggestion = reminderDate + (reminderMinHour - reminderHour) / 24
' verify if first guess is valid
If reminderHour < reminderMinHour - tolerance And reminderDateSuggestion <= aAptItem.Start Then
' OK, first guess is valid, keep it
ElseIf reminderHour > reminderMaxHour Then
' go back to max hour (same day)
reminderDateSuggestion = reminderDate - (reminderHour - reminderMaxHour) / 24
Else
' go back to max hour (previous day)
reminderDateSuggestion = reminderDate - (reminderHour + 24 - reminderMaxHour) / 24
End If
rep = MsgBox("The Reminder time is out of specified working period. Would you like to change the Reminder time?" , vbQuestion + vbYesNoCancel)
If rep = vbCancel Then
aAptItem.Display
ElseIf rep = vbYes Then
aAptItem.ReminderMinutesBeforeStart = (aAptItem.Start - reminderDateSuggestion) * 24 * 60
aAptItem.Save
End If
End If
End If
ProcExit:
Exit Sub
ProcError:
MsgBox "Unanticipated error " & Err.Number & " " & Err.Description & vbCrLf & "In procedure: " & strProcName
End Sub

 

RemarqueVous pouvez spécifier votre période de travail en modifiant les paramètres suivants dans le code VBA ci-dessus :
reminderMaxHour = 20
reminderMinHour = 9

Étape 3 : Enregistrez cette macro VBA, puis redémarrez votre Microsoft Outlook.

Dès maintenant, lorsque vous créez un rendez-vous avec une heure de rappel en dehors de votre période de travail spécifiée, une boîte de dialogue s'affichera pour vous rappeler après avoir cliqué sur le bouton Enregistrer et fermer.

the screenshot of step about preventing outlook reminding too early or too late

Si l'heure du rappel est antérieure à l'heure reminderMinHour spécifiée, cliquez sur Oui dans la boîte de dialogue, cela changera l'heure du rappel et fera sonner le rappel à l'heure reminderMinHour spécifiée.

Si l'heure du rappel est postérieure à l'heure reminderMaxHour spécifiée, cliquez sur Oui dans la boîte de dialogue, cela changera l'heure du rappel et vous rappellera à l'heure reminderMaxHour spécifiée.

Remarque : Ce code VBA fonctionne bien avec Outlook 2013, mais ne fonctionne pas avec Outlook 2010 et 2007.


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