VBA Excel: sélection de dates glissantes d'un tableau

Résolu
Bonjour,

Je travaille sous Excel 2013 et dispose d'un tableau avec des dates en colonne A et des noms en colonne B: https://www.cjoint.com/c/IGqjkE6reID
En D1, j'ai mis une formule qui indique la date glissante à 31 jours (15/06/2019 si on est le 16/07/2019, 10/03/2019 si on est le 11/04/2019...).
J'aimerais savoir quel code VBA pourrait me permettre de sélectionner la partie du tableau (dates et noms) de la date la plus ancienne date à celle inférieure à la date figurant en D1, idéalement en intégrant la formule située en D1 dans un code pour libérer la cellule D1; autrement dit, j'aimerais pouvoir sélectionner le tableau de la première ligne à la dernière contenant les infos du 14/06/2019 si en D1 apparaît la date "15/06/2019"; quelqu'un aurait-il une piste?? Toutes les idées sont bonnes à prendre!

Je vous en remercie par avance!

1 réponse

  1. Contributeur Ambassadeur
    bonjour, je suggère ceci:
    Option Explicit
    
    Sub lena()
    Dim dt As Date, cejour As Date, nlig As Long, fl As Worksheet
    Set fl = ActiveSheet
    cejour = Date
    dt = DateSerial(Year(cejour), Month(cejour) - 1, Day(cejour - 1))
    nlig = 1
    Do While fl.Cells(nlig, 1) < dt And IsDate(fl.Cells(nlig, 1))
        nlig = nlig + 1
    Loop
    If nlig < 2 Then
        nlig = 2
    End If
    fl.Range(fl.Cells(1, 1), fl.Cells(nlig - 1, 2)).Select
    End Sub
    1
    1. Le code fonctionne parfaitement, merci beaucoup!!!
      0
    2. Contributeur Ambassadeur
      @Lena_tkdparfait, peux-tu alors marquer le sujet comme résolu, via la roue dentée à droite du titre?
      0
    3. Je ne vois pas de roue dentée alors dans le mail reçu j'ai cliqué sur "votre question edt résolue" mais ça n'a rien fait de plus que je me rediriger vers le forum
      0
    4. Contributeur Ambassadeur
      @Lena_tkdok, je marque résolu, merci d'avoir essayé.
      0
    5. Petite question complémentaire: comment récupérer le numéro de la dernière ligne de la sélection?? Merci
      0