Modification de la façon dont Excel détermine l’année à utiliser (Microsoft Excel)
Brian aimerait saisir une date en saisissant uniquement le mois et le jour.
Excel suppose que l’année est l’année en cours, mais il aimerait que l’année soit celle de la prochaine fois que cette date survient. Par exemple, si aujourd’hui est le 1/6/18 et que Brian tape 7/1, Excel suppose automatiquement une année de 2018. Si Brian tape 5/1 le même jour, Excel devrait supposer une année de 2019, comme 5/1 est déjà dans le passé. Brian sait qu’il peut utiliser une formule pour afficher la date dans une cellule différente, mais se demande comment il peut faire en sorte qu’Excel adopte cette approche par défaut lorsqu’il saisit des dates dans des cellules.
À moins de jouer avec la date de votre système ou de modifier les dates après leur saisie, la solution nécessite l’utilisation d’une macro. Le gestionnaire d’événements suivant fera l’affaire:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Target = "" Then Exit Sub If IsDate(Target) Then If Target < Date Then If Year(Target) = Year(Date) Then Application.EnableEvents = False Target.Value = DateAdd("yyyy", 1, Target) Application.EnableEvents = True End If End If End If End Sub
Pour ajouter cette macro à votre classeur, cliquez simplement avec le bouton droit sur l’onglet de la feuille de calcul où vous voulez qu’elle soit opérationnelle, puis choisissez Afficher le code. Dans la fenêtre de code résultante, ajoutez la macro ci-dessus.
Désormais, chaque fois que vous apportez une modification à la feuille de calcul, elle est vérifiée pour voir s’il s’agit d’une date. Si tel est le cas et que la date est antérieure à la date du jour, une année est ajoutée à la date. Notez que le code vérifie que l’année de la date saisie est la même que l’année en cours. Sans ce contrôle, toute date dans le passé – même des dates de plusieurs années dans le passé – serait incrémentée. Ce n’est probablement pas prévu, donc le chèque est inclus.
La macro n’affectera pas les dates entrées dans plusieurs cellules à la fois, ni les dates saisies en tant que valeurs de texte.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (13601) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.