Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment lister toutes les dates entre deux dates dans Excel?

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

Liste toutes les dates entre deux dates par des formules

Liste toutes les dates entre deux dates par VBA

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


Comparer les plages utilitaire (peut comparer deux plages, et sélectionner et colorier les mêmes valeurs ou des valeurs différentes.)

doc comparer les gammes


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

formule Ne plus jamais avoir à vous soucier des longues formules longues dans Excel! Kutools for Excel's Texte automatique peut ajouter toutes les formules à un groupe
en tant que texte automatique, et libérez votre cerveau! Cliquez ici pour connaître le texte automatique Cliquez ici pour obtenir un essai gratuit

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. Ensuite, allez à la cellule C1 pour taper cette formule = A1 + 1 dans celui-ci, puis cliquez Entrer clé. Voir la capture d'écran:
doc-list-toutes-dates-entre-deux-dates-2

3. Puis dans la cellule C2, tapez cette formule =IF($A$XNUMX+ROW(AXNUMX)>=$A$XNUMX-XNUMX,"",CXNUMX+XNUMX) dans celui-ci, puis faites glisser la poignée de remplissage automatique jusqu'aux 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 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 parmi la plage de dates.


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

1. Tapez la date de début et la date de fin vous 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 copier et coller ci-dessous code VBA à la 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 course 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

Note: La liste générée par cette VBA inclut la date de début et la date de fin.


En fait, si vous avez installé Kutools for Excel - un outil 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 120 fonctions Excel pratiques, améliorez votre efficacité de travail et économisez votre temps de travail.

après installation gratuite Kutools pour Excel, s'il vous plaît faire comme ci-dessous:

1. Sélectionnez une colonne dont 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ère des données aléatoires 1

2. Puis dans le Insérer des données aléatoires dialogue, cliquez sur Date onglet, puis sélectionnez les dates de début et de fin À partir du 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 le dialogue, et un autre Kutools for Excel la boîte de dialogue apparaît, il suffit de cliquer Oui. Vous pouvez ensuite voir les dates entre la date de début et la date de fin. 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 des dates dans l'ordre dont vous avez besoin. Cliquez sur Données > Trier le plus ancien au plus récent. Ensuite, vous pouvez voir 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 nombre entier aléatoire, une chaîne aléatoire et un temps aléatoire ainsi de suite. Cliquez ici pour en savoir plus sur Insérer des données aléatoires.


Vous êtes peut-être intéressé par ceci:

Convertir en date

Dans certains cas, vous pouvez avoir plusieurs dates non standard dans votre feuille de calcul, et les convertir toutes à la date standard mm / jj / aaaa peut être gênant pour vous. Ici Kutools for Excel's Conver à date peut rapidement convertir les dates en date standard au format mm / jj / aaaa.
date de conversion du document

Articles relatifs:




Outils de productivité recommandés

Office Tab

étoile d&#39;or1 Apportez des onglets pratiques à Excel et à d'autres logiciels Office, tout comme Chrome, Firefox et Internet Explorer.

Kutools for Excel

étoile d&#39;or1 Incroyable! Augmentez votre productivité dans les minutes 5. Ne nécessite pas de compétences particulières, économisez deux heures par jour!

étoile d&#39;or1 300 Nouvelles fonctionnalités pour Excel, rendent Excel facile et puissant:

  • Fusionner des cellules / lignes / colonnes sans perdre de données.
  • Combiner et consolider plusieurs feuilles et classeurs.
  • Comparez les gammes, copiez plusieurs gammes, convertissez le texte en date, l'unité et la conversion de devise.
  • Compter par couleurs, sous-totaux de recherche, tri avancé et super filtre,
  • Plus Sélectionner / Insérer / Supprimer / Texte / Format / Lier / Commenter / Classeurs / Feuilles de calcul Outils ...

Capture d&#39;écran de Kutools pour Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Deuf · 1 years ago
    How to loop this vba code (1000 rows for example) ?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      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?
  • To post as a guest, your comment is unpublished.
    NewSP · 1 years ago
    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.
    • To post as a guest, your comment is unpublished.
      Deuf · 1 years ago
      If you invert this line you can make it work :


      OutRng.Offset(ColIndex, 0) = i to OutRng.Offset(0, ColIndex) = i
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      Why do not try to transpose the column result to row?
  • To post as a guest, your comment is unpublished.
    singaravelu · 1 years ago
    i tried the VBA code it worked.. Thanks for sharing. Similarly is it possible to pase it along columns/ horizontally?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      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.
  • To post as a guest, your comment is unpublished.
    Firat · 1 years ago
    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...
  • To post as a guest, your comment is unpublished.
    Kamal Kumara · 2 years ago
    Can we use text box instead of in box in macro