InputBox, sélectionner un intervalle entre 2 dates

peybernes Messages postés 50 Date d'inscription   Statut Membre Dernière intervention   -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour à tous,

Je travailles actuellement sur un fichier Excel où je souhaiterais, à l'aide d'une macro (InputBox ?) sélectionner deux dates et garder uniquement le contenu entre ces 2 dates, c'est à dire masquer toutes les autre lignes où la date n'est pas comprise dans l'intervalle défini.

J'ai déjà un début de macro où je peux définir mon intervalle :

Sub DATES()
Dim Date_debut
Dim Date_fin
Application.ScreenUpdating = False
Date_debut = InputBox("Entrer la date ", " Date de debut d'intervalle ", Date)
Date_fin = InputBox("Entrer la date ", " Date de fin d'intervalle ", Date)
End Sub

Pourriez-vous maintenant m'aider à garder toutes les lignes comprises entre cet intervalle et à masquer toutes les autres ?

Je vous remercie.

2 réponses

  1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    Pas besoin de vba
    Si tu mets un filtre sur tes données et que tu choisis le filtre chronologique 'Entre...', le TCD se met à jour tout seul.

    Tu as aussi la possibilité d'ajouter un segment sur la date à ton TCD si tu préfères.
    eric
    2
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Essaie un code de ce tyle exemple avec les dates en colonne F (à adapter)
    ' dernière remplie en colone A
    Ligne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
    ' boucle sur les lignes
    For n=2 to Ligne
    ' si hors intervalle
    if range("F" & n) < Date_debut or range("F" & n) > Date_fin then
    'cache toutes les lignes
    Rows(Ligne & ":" &  Ligne).Select
        Selection.EntireRow.Hidden = True
     Next
    

    Cdlmnt
    Via
    0
    1. peybernes Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour Via,

      J'ai utiliser votre solution mais je n'arrive pas à l'adapter à mon problème, pouvez vous m'expliquez ce que vous faites sur la première ligne ?
      Autre chose, pourquoi utilisez vous n=2 ?

      Je travaille dans un tableau croisé dynamique, pensez vous que ça puisse poser problème ?

      Merci beaucoup pour votre aide

      Cdmt
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > peybernes Messages postés 50 Date d'inscription   Statut Membre Dernière intervention  
         
        Bonjour

        Comme mis en commentaire la première ligne de la macro recherche avec FIND la dernière ligne en colonne 1 qui contiennent quelque chose (le "*")

        Ensuite on boucle sur les lignes du tableau depuis la 2eme car je supposais que la 1ere ne contient pas des valeurs mais des titres

        Je ne pense pas que le TCD cause un problème

        Si tu n'arrive pas à mettre la macro en place, poste un exemple de ton fichier avec ce que tu a s fait sur mon partage;fr fais créer un lien que tu copies et reviens coller ici

        Cdlmnt
        Via
        0