Note: The other languages of the website are Google-translated. Back to English
English English

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 Du et des tours To liste, puis n'oubliez pas de vérifier Journée de travail, Fin de semaine et des tours 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 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:



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éeplus
  • 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 gammesplus
  • 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 cellulesplus
  • 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 PDFplus
  • 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
Commentaires (9)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Pouvons-nous utiliser la zone de texte au lieu de la zone dans la macro
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Merci pour le partage d'un excellent code. Je voudrais cependant poser une question. J'utilise ce code VBA que vous avez partagé. 1) Puis-je lister toutes les autres cellules de la même ligne avec les dates ? 2) Pouvons-nous définir la cellule de date de début et la cellule de date de fin et la cellule dans laquelle les nouvelles informations seront écrites ? Je pose ces questions parce que j'ai 30 lignes. Chaque ligne contient des données pour différentes personnes. La cellule G est une date de début et la cellule H est une date de fin. D'autres cellules contiennent des informations. Je voudrais que cela soit répertorié dans une nouvelle cellule comme toutes les dates entre ces cellules. Par exemple (montrant juste une démonstration, donc seules les cellules G et H écrites ci-dessous - I est l'endroit où la liste apparaît) : Rangée 2 Personne A 28/05/2017 05/06/2017 28/05/2017 Rangée 3 Personne A 28/05 /2017 05/06/2017 29/05/2017 Rang 4 Personne A 28/05/2017 05/06/2017 30/05/2017 Rang 5 Personne A 28/05/2017 05/06/2017 31/05/2017 Rang 6 Personne A 28/05/2017 05/06/2017 01/06/2017 Rang 7 Personne A 28/05/2017 05/06/2017 02/06/2017 Rang 8 Personne A 28/05/2017 05/06 /2017 03/06/2017 Rang 9 Personne A 28/05/2017 05/06/2017 04/06/2017 Rang 10 Personne A 28/05/2017 05/06/2017 05/06/2017 Rang 11 Personne B 23 /05/2017 31/05/2017 23/05/2017 Rang 12 Personne B 23/05/2017 31/05/2017 24/05/2017 Rang 13 Personne B 23/05/2017 31/05/2017 25/05 /2017 Rangée 14 Personne B 23/05/2017 31/05/2017 26/05/2017 et ainsi de suite...
Ce commentaire a été minimisé par le modérateur sur le site
j'ai essayé le code VBA cela a fonctionné .. Merci pour le partage. De même, est-il possible de le coller le long des colonnes/horizontalement ?
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, si vous souhaitez répertorier les dates dans une rangée horizontalement, il vous suffit d'utiliser le code vba pour répertorier les dates, de copier les résultats et de coller la transposition.
Ce commentaire a été minimisé par le modérateur sur le site
Firat - avez-vous résolu votre problème ? J'ai exactement le même problème et je ne peux pas obtenir le résultat dans la ligne au lieu de la colonne.
Ce commentaire a été minimisé par le modérateur sur le site
Pourquoi ne pas essayer de transposer le résultat de la colonne en ligne ?
Ce commentaire a été minimisé par le modérateur sur le site
Si vous inversez cette ligne, vous pouvez la faire fonctionner :


OutRng.Offset(ColIndex, 0) = je à OutRng.Offset(0, ColIndex) = je
Ce commentaire a été minimisé par le modérateur sur le site
Comment boucler ce code vba (1000 lignes par exemple) ?
Ce commentaire a été minimisé par le modérateur sur le site
Désolé pour la réponse si tardive, mais je ne comprends pas votre question, le VBA uniquement pour lister les dates entre une plage de dates, pourquoi avoir besoin de boucler le code ?
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés