Passer au contenu principal

Comment lister toutes les dates entre deux dates dans Excel?

Dans certains cas, si vous avez la date de début et la date de fin spécifiques, vous devrez peut-être répertorier toutes les dates entre ces deux dates données dans Excel. Maintenant, ce tutoriel parle des méthodes pour répertorier toutes les dates entre deux dates dans Excel.

Liste toutes les dates entre deux dates par formules

Liste toutes les dates entre deux dates par VBA

Liste toutes les dates entre deux dates par Kutools for Excel bonne idée3


Ici, j'introduis des formules qui peuvent répertorier rapidement toutes les dates entre deux dates données pour vous dans Excel.

1. Tapez les dates de début et de fin dans deux cellules, ici je les tape dans les cellules A1 et A2. Voir la capture d'écran:
doc-list-toutes-dates-entre-deux-dates-1

2. Accédez ensuite à la cellule C1 pour taper cette formule = A1 + 1 dedans, puis cliquez sur Entrer clé. Voir la capture d'écran:
doc-list-toutes-dates-entre-deux-dates-2

3. Ensuite, dans la cellule C2, tapez cette formule =IF($A$1+ROW(A1)>=$A$2-1,"",C1+1) dedans, puis faites glisser la poignée de remplissage automatique vers les cellules jusqu'à ce qu'une cellule vide apparaisse. Voir les captures d'écran:

doc-list-toutes-dates-entre-deux-dates-3       doc-list-toutes-dates-entre-deux-dates-4

Ensuite, vous pouvez voir toutes les dates entre deux dates données sont répertoriées dans la colonne.
doc-list-toutes-dates-entre-deux-dates-5

Remarque:

Dans les formules ci-dessus, A1 est la date de début, A2 est la date de fin et C1 est la première date de la plage de dates.


Si vous êtes intéressé par le code de macro, vous pouvez utiliser le VBA ci-dessous pour répertorier toutes les dates entre deux dates données dans Excel.

1. Tapez la date de début et la date de fin dans deux cellules, ici je tape dans les cellules A1 et B1. Voir la capture d'écran:
doc-list-toutes-dates-entre-deux-dates-6

2. presse Alt + F11 clés pour ouvrir Microsoft Visual Basic pour applications fenêtre.

3. Puis clique insérer > Module et copiez et collez ci-dessous le code VBA dans le popping Module fenêtre.

VBA: liste toutes les dates entre deux dates.

Sub WriteDates()
	'Updateby20150305
	Dim rng As Range
	Dim StartRng As Range
	Dim EndRng As Range
	Dim OutRng As Range
	Dim StartValue As Variant
	Dim EndValue As Variant
	xTitleId     = "KutoolsforExcel"
	Set StartRng = Application.Selection
	Set StartRng = Application.InputBox("Start Range (single cell):", xTitleId, StartRng.Address, Type: = 8)
	Set EndRng   = Application.InputBox("End Range (single cell):", xTitleId, Type: = 8)
	Set OutRng   = Application.InputBox("Out put to (single cell):", xTitleId, Type: = 8)
	Set OutRng   = OutRng.Range("A1")
	StartValue   = StartRng.Range("A1").Value
	EndValue     = EndRng.Range("A1").Value
	If EndValue - StartValue <= 0 Then
		Exit Sub
		End If
		ColIndex = 0
		For i = StartValue To EndValue
			OutRng.Offset(ColIndex, 0) = i
			ColIndex = ColIndex + 1
		Next
	End Sub

4. Cliquez Courir or F5 pour exécuter le VBA, et une boîte de dialogue apparaît pour vous permettre de sélectionner la date de début, puis cliquez sur OK, puis sélectionnez la date de fin dans la deuxième boîte de dialogue contextuelle. Voir la capture d'écran:

doc-list-toutes-dates-entre-deux-dates-7          doc-list-toutes-dates-entre-deux-dates-8

5. Cliquez OK, puis sélectionnez une cellule pour afficher les dates, puis cliquez sur OK. Maintenant, vous pouvez voir toutes les dates entre deux dates sont répertoriées. Voir les captures d'écran:

doc-list-toutes-dates-entre-deux-dates-9         doc-list-toutes-dates-entre-deux-dates-10

Notes: La liste générée par ce VBA comprend la date de début et la date de fin.


En fait, si vous avez installé Kutools for Excel - un outil complémentaire pratique, vous pouvez également utiliser le Insérer des données aléatoires pour résoudre ce problème.

Kutools for Excel, avec plus de 300 fonctions Excel pratiques, améliorez votre efficacité de travail et économisez votre temps de travail.

Après installation gratuite Kutools for Excel, procédez comme suit:

1. Sélectionnez une colonne pour laquelle vous souhaitez répertorier les dates entre deux dates, puis cliquez sur Kutools > insérer > Insérer des données aléatoires. Voir la capture d'écran:
doc insérer des données aléatoires 1

2. Puis dans le Insérer des données aléatoires dialogue, cliquez sur Date , puis sélectionnez les dates de début et de fin dans le A partir de et To liste, puis n'oubliez pas de vérifier Journée de travail, Fin de semaine et Valeurs uniques cases à cocher. Voir la capture d'écran:
doc-list-toutes-dates-entre-deux-dates-12

3. Cliquez Ok pour fermer la boîte de dialogue, et un autre Kutools for Excel la boîte de dialogue apparaît, il suffit de cliquer Oui. Ensuite, vous pouvez voir les dates entre la date de début et la date de fin sont répertoriées. Voir les captures d'écran:

doc-list-toutes-dates-entre-deux-dates-13           doc-list-toutes-dates-entre-deux-dates-14

4. Vous devez maintenant trier la liste de dates dans l'ordre dont vous avez besoin. Cliquez sur Données > Trier du plus ancien au plus récent. Ensuite, vous pouvez voir que les dates sont triées de la date la plus ancienne à la date la plus récente. Voir les captures d'écran:

doc-list-toutes-dates-entre-deux-dates-15          doc-list-toutes-dates-entre-deux-dates-16

Avec Insérer des données aléatoires utilitaire, vous pouvez également insérer un entier aléatoire, une chaîne aléatoire et une heure aléatoire, etc. Cliquez ici pour en savoir plus sur Insérer des données aléatoires.


Articles relatifs:


Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
Comments (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
How to loop this vba code (1000 rows for example) ?
This comment was minimized by the moderator on the site
Sorry for reply such late, but I do not understand your question, the VBA only for listing dates between a date range, why need to loop the code?
This comment was minimized by the moderator on the site
Firat - did you solve your issue? I have exactly the same issue and I cannot get the result in the row instead of the column.
This comment was minimized by the moderator on the site
If you invert this line you can make it work :


OutRng.Offset(ColIndex, 0) = i to OutRng.Offset(0, ColIndex) = i
This comment was minimized by the moderator on the site
Why do not try to transpose the column result to row?
This comment was minimized by the moderator on the site
i tried the VBA code it worked.. Thanks for sharing. Similarly is it possible to pase it along columns/ horizontally?
This comment was minimized by the moderator on the site
Hello, if you want to list dates in a row horizontally, you just need to use the vba code to list the dates, and copy the results and paste transpose.
This comment was minimized by the moderator on the site
Hello, Thanks for sharing a great code. I would like to ask one question though. I am using this VBA code you shared. 1) Can I list all the other cells in the same row with the dates? 2) Can we define the starting date cell and ending date cell and the cell that the new information will be written? I am asking these questions because I have 30 rows. Each row has data for different people. Cell G is a starting date and Cell H is an ending date. Other cells contains some information. I would like this to be listed in a new cell as all the dates between these cells. For example (just showing demonstration, so only G and H cells written below-I is where the list appears): Row 2 Person A 28/05/2017 05/06/2017 28/05/2017 Row 3 Person A 28/05/2017 05/06/2017 29/05/2017 Row 4 Person A 28/05/2017 05/06/2017 30/05/2017 Row 5 Person A 28/05/2017 05/06/2017 31/05/2017 Row 6 Person A 28/05/2017 05/06/2017 01/06/2017 Row 7 Person A 28/05/2017 05/06/2017 02/06/2017 Row 8 Person A 28/05/2017 05/06/2017 03/06/2017 Row 9 Person A 28/05/2017 05/06/2017 04/06/2017 Row 10 Person A 28/05/2017 05/06/2017 05/06/2017 Row 11 Person B 23/05/2017 31/05/2017 23/05/2017 Row 12 Person B 23/05/2017 31/05/2017 24/05/2017 Row 13 Person B 23/05/2017 31/05/2017 25/05/2017 Row 14 Person B 23/05/2017 31/05/2017 26/05/2017 and so on...
This comment was minimized by the moderator on the site
Can we use text box instead of in box in macro
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations