Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
INSCRIPTION  \/ 
x

or

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 pour 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 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

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 pour 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 pour 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 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 pour 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 Data > 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:



Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtrée...
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammes...
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellules...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement 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!
bas de cabine
Say something here...
symbols left.
You are guest
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.
    Faker · 3 years ago
    How to loop this vba code (1000 rows for example) ?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 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 · 3 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.
      Faker · 3 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 · 3 years ago
      Why do not try to transpose the column result to row?
  • To post as a guest, your comment is unpublished.
    singaravelu · 4 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 · 4 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 · 4 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 · 5 years ago
    Can we use text box instead of in box in macro