InputBox, sélectionner un intervalle entre 2 dates

Fermé
peybernes Messages postés 55 Date d'inscription jeudi 12 janvier 2017 Statut Membre Dernière intervention 29 juillet 2020 - 7 sept. 2017 à 17:23
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 8 sept. 2017 à 15:06
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.
A voir également:

2 réponses

eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
8 sept. 2017 à 15:06
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
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 740
7 sept. 2017 à 18:53
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
peybernes Messages postés 55 Date d'inscription jeudi 12 janvier 2017 Statut Membre Dernière intervention 29 juillet 2020
8 sept. 2017 à 09:28
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
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 740 > peybernes Messages postés 55 Date d'inscription jeudi 12 janvier 2017 Statut Membre Dernière intervention 29 juillet 2020
8 sept. 2017 à 13:19
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