top of page

Créer des rappels automatiques d'échéance de bail avec Power Automate et Excel (étape par étape)

il y a 3 heures
5 min de lecture

Rater l'échéance d'un bail est l'une des erreurs les plus coûteuses en immobilier commercial. Un locataire qu'on n'appelle pas à 12 mois signe souvent ailleurs à 6 mois. La plupart des courtiers, des propriétaires et des gestionnaires immobiliers suivent les échéances dans un tableur, et ce tableur n'est utile que si quelqu'un l'ouvre.

Dans ce guide, nous allons créer un flux Power Automate qui lit votre registre des baux chaque matin et vous envoie un courriel lorsqu'un bail arrive à exactement 365, 180 ou 90 jours de son échéance. Comptez environ 20 minutes; le flux n'utilise qu'Excel et Outlook et ne demande aucune licence premium. La même méthode fonctionne pour les renouvellements de contrats, les licences logicielles, les certificats d'assurance ou toute autre date que vous ne pouvez pas vous permettre d'oublier.

Ce qu'il vous faut

  • Microsoft 365 avec Outlook et OneDrive Entreprise (ou SharePoint)

  • Un accès à Power Automate (make.powerautomate.com)

  • Un classeur Excel dans lequel vos baux sont mis en forme sous forme de tableau

Étape 1 : Préparer le registre des baux dans Excel

Créez un classeur (le nôtre s'appelle Lease-Tracker.xlsx) avec une ligne par bail et les colonnes suivantes : Lease ID, Tenant, Property, Unit, Size (SF), Expiry Date et Use. Sélectionnez les données et appuyez sur Ctrl+T pour les mettre sous forme de tableau, puis nommez le tableau Leases (Création de tableau > Nom du tableau). Power Automate ne peut lire que les données Excel situées dans un tableau nommé.

Registre des baux dans Excel mis sous forme de tableau nommé Leases

Astuce : gardez Expiry Date comme une vraie colonne de dates, et non comme du texte. Le flux effectue des calculs de dates sur cette colonne.

Étape 2 : Créer un flux de cloud planifié

Dans Power Automate, allez dans Créer et choisissez Flux de cloud planifié.

Page Créer de Power Automate avec l'option Flux de cloud planifié

Nommez-le Lease Expiry Reminders, réglez-le pour qu'il se répète tous les jours à partir de demain à 8 h, puis cliquez sur Créer.

Boîte de dialogue de création d'un flux de cloud planifié réglé pour s'exécuter chaque jour à 8 h

Étape 3 : Définir le fuseau horaire du déclencheur Recurrence

Ouvrez le déclencheur Recurrence et réglez Time zone sur (UTC-05:00) Eastern Time (US & Canada), ou sur votre propre fuseau. Réglez At these hours sur 8 et At these minutes sur 0. L'aperçu devrait indiquer « Runs at 8:00 every day ». Sans fuseau horaire, le flux s'exécute en UTC et « aujourd'hui » peut être décalé d'une journée.

Déclencheur Recurrence avec le fuseau horaire de l'Est, réglé pour s'exécuter à 8 h

Étape 4 : Saisir la date du jour

Ajoutez une action Compose et renommez-la Today. Dans Inputs, ouvrez l'éditeur d'expressions (fx) et saisissez :

formatDateTime(convertFromUtc(utcNow(), 'Eastern Standard Time'), 'yyyy-MM-dd')
Action Compose nommée Today avec une expression formatDateTime

Vous obtenez ainsi une date propre, comme 2026-09-27, dans votre heure locale, à laquelle toutes les étapes suivantes se comparent.

Étape 5 : Lire les baux dans Excel

Ajoutez List rows present in a table (Excel Online Business). Réglez Location sur OneDrive for Business, Document Library sur OneDrive, File sur /Blog Demos/Lease-Tracker.xlsx (votre propre chemin) et Table sur Leases.

Ouvrez ensuite Advanced parameters et réglez DateTime Format sur ISO 8601. C'est l'étape que la plupart des gens oublient : sans elle, Excel renvoie les dates sous forme de numéros de série comme 46382, et tous les calculs de dates échouent.

Action List rows present in a table avec DateTime Format réglé sur ISO 8601

Remarque : par défaut, cette action renvoie 256 lignes. Si votre registre est plus volumineux, activez Pagination dans les paramètres (Settings) de l'action.

Étape 6 : Ne garder que les baux qui atteignent un jalon aujourd'hui

Ajoutez une action Filter array et renommez-la Leases hitting a milestone. Réglez From sur la sortie body/value de l'étape Excel. Cliquez sur Edit in advanced mode et collez :

@contains(createArray(90, 180, 365), div(sub(ticks(item()?['Expiry Date']), ticks(outputs('Today'))), 864000000000))
Action Filter array en mode avancé qui garde les baux à 90, 180 ou 365 jours

Comment ça fonctionne : ticks() convertit chaque date en un nombre d'intervalles de 100 nanosecondes. En soustrayant la date du jour de la date d'échéance, puis en divisant par 864 000 000 000 (le nombre de ticks dans une journée), on obtient le nombre de jours restants. createArray(90, 180, 365) est votre liste de jalons, et contains() ne garde la ligne que si son nombre de jours restants figure dans cette liste. Vous voulez aussi un rappel à 30 jours? Ajoutez 30 au tableau.

Vue code de l'expression Filter array utilisant ticks et createArray

Étape 7 : Ne continuer que s'il y a quelque chose à signaler

Ajoutez une Condition et renommez-la Any leases to report. À gauche, ajoutez l'expression length(body('Leases_hitting_a_milestone')), choisissez is greater than et saisissez 0 à droite. Tout le reste va dans la branche True; vous ne recevez donc un courriel que les jours où un bail exige vraiment votre attention.

Condition qui vérifie si des baux atteignent un jalon aujourd'hui

Étape 8 : Mettre en forme les lignes pour le courriel

Dans la branche True, ajoutez une action Select et renommez-la Build reminder rows. Réglez From sur le Body du Filter array, puis ajoutez les paires clé-valeur suivantes (utilisez fx pour chaque valeur) :

  • Tenant : item()?['Tenant']

  • Property : concat(item()?['Property'], ', ', item()?['Unit'])

  • Expiry Date : formatDateTime(item()?['Expiry Date'], 'MMM d, yyyy')

  • Days Left : div(sub(ticks(item()?['Expiry Date']), ticks(outputs('Today'))), 864000000000)

  • Size (SF) : formatNumber(int(item()?['Size (SF)']), '#,##0')

Action Select qui associe Tenant, Property, Expiry Date, Days Left et Size

Étape 9 : En faire un tableau et l'envoyer par courriel

Ajoutez Create HTML table (renommez-la Reminder table) en réglant From sur la sortie (Output) du Select. Ajoutez ensuite Send an email (V2), renommez-la Email the reminder et réglez :

  • À : votre adresse courriel, ou la boîte aux lettres partagée de votre équipe

  • Objet (sous forme d'expression) : concat('Lease expiry reminders: ', length(body('Leases_hitting_a_milestone')), ' lease(s) hit a milestone today')

  • Corps : passez l'éditeur en mode code (le bouton </>) et collez le HTML ci-dessous. Le bloc style donne au tableau un en-tête et des bordures en bonne et due forme.

<style>table{border-collapse:collapse;font-family:Segoe UI,Arial,sans-serif;font-size:13px}th{background:#1f3b57;color:#ffffff;padding:8px 10px;text-align:left}td{border:1px solid #dde3ea;padding:8px 10px}tr:nth-child(even) td{background:#f4f7fa}</style><p>Good morning,</p><p>These leases reach a 90, 180 or 365-day milestone today. Time to start the renewal conversation.</p>@{body('Reminder_table')}<p>Source: Lease-Tracker.xlsx</p>
Action Send an email V2 avec un corps HTML pour le rappel d'échéance de bail

Étape 10 : Enregistrer et tester

Cliquez sur Enregistrer, puis sur Tester > Manuellement > Exécuter le flux. Chaque étape devrait afficher un crochet vert.

Test réussi du flux Power Automate avec toutes les étapes en vert

Et voici le courriel arrivé dans notre boîte de réception. Trois de nos baux d'exemple se trouvaient à exactement 90, 180 et 365 jours de leur échéance; ils figurent donc tous les trois dans la liste.

Courriel de rappels d'échéance de bail avec un tableau mis en forme de trois baux

Des idées pour aller plus loin avec vos rappels d'échéance de bail

  • Envoyez chaque rappel au courtier responsable : ajoutez une colonne Broker Email et utilisez Apply to each avec un courriel distinct par ligne.

  • Publiez dans un canal Microsoft Teams au lieu du courriel (ou en plus).

  • Ajoutez 30 ou 60 jours au tableau de jalons pour les rappels de dernière ligne droite.

  • Inscrivez une date « Dernier rappel » dans Excel avec Update a row, pour garder une piste d'audit.

  • Utilisez le même flux pour les dates d'option, les révisions de loyer ou l'expiration des certificats d'assurance.

La partie amusante : un petit test de votre portefeuille de baux

Accordez-vous un point pour chaque énoncé qui vous semble familier :

  • Votre registre des baux contient une colonne intitulée « Notes (IMPORTANT) ».

  • Vous avez appris le départ d'un locataire… par le locataire lui-même.

  • Il y a une échéance de bail notée sur un papillon adhésif quelque part. Peut-être sous un clavier.

  • « Renouvellement » dans votre calendrier signifie que vous y avez pensé à 23 h la veille.

0 à 1 : un bureau bien tenu. 2 à 3 : ce flux sera rentabilisé dès ce trimestre. 4 : configurez-le aujourd'hui, puis partez à la recherche de ce papillon adhésif.

Votre tableur ne suffit plus?

Un flux comme celui-ci est une excellente première étape, mais un tableur ne peut toujours pas vous dire qui appeler, regrouper vos visites, vos offres et vos lettres d'intention, ni répondre au téléphone pendant que vous faites visiter des locaux. C'est pourquoi nous avons créé Frontage, un CRM de location commerciale pour les courtiers canadiens. Il importe la liste d'échéances que vous tenez déjà, fait ressortir les baux aux jalons que vous choisissez (3, 6, 9, 12 ou 18 mois) et transforme chacun d'eux en transaction en un seul clic. Le forfait Starter est gratuit, sans carte de crédit.

Besoin d'aide pour automatiser vos propres processus? Smart Solutions conçoit des solutions Power Automate et Power Apps pour les entreprises canadiennes. Communiquez avec nous pour discuter de ce que vous aimeriez automatiser.


Commentaires


bottom of page