Créer des rappels automatiques d'échéance de bail avec Power Automate et Excel (étape par étape)
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é.

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é.

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.

É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.

É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')
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.

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))
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.

É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.

É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')

É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>
Étape 10 : Enregistrer et tester
Cliquez sur Enregistrer, puis sur Tester > Manuellement > Exécuter le flux. Chaque étape devrait afficher un crochet 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.

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