Comment extraire tous les enregistrements entre deux dates dans Excel ?
Lorsque vous travaillez avec de grandes quantités de données horodatées dans Excel, vous devez souvent extraire ou filtrer tous les enregistrements qui se situent entre deux dates spécifiques. Par exemple, vous pourriez vouloir analyser des transactions au sein d’une période de facturation, examiner la présence pour un mois particulier, ou simplement étudier les entrées enregistrées dans une plage de dates personnalisée. Rechercher et copier manuellement chaque ligne pertinente peut être fastidieux et sujet à erreurs, surtout lorsque votre volume de données augmente. Extraire efficacement tous les enregistrements entre deux dates données vous permet non seulement de gagner un temps précieux, mais réduit également le risque de manquer des entrées importantes ou d'introduire des erreurs lors de la manipulation des données.
![]() | ![]() | ![]() |
Ci-dessous, vous trouverez plusieurs méthodes pratiques pour extraire tous les enregistrements entre deux dates dans Excel. Chaque approche présente ses propres scénarios d’application et avantages, allant des extractions basées sur des formules (aucun module complémentaire requis), à l’utilisation de Kutools pour Excel pour plus de commodité, en passant par du code VBA et le filtre intégré d'Excel—offrant ainsi des solutions flexibles pour différents besoins et préférences d’utilisateurs.
Extraire tous les enregistrements entre deux dates à l’aide de formules
Extraire tous les enregistrements entre deux dates à l’aide de Kutools pour Excel
Utiliser VBA pour extraire des enregistrements entre deux dates
Utiliser le filtre Excel pour extraire des enregistrements entre deux dates
Extraire tous les enregistrements entre deux dates à l’aide de formules
Pour extraire tous les enregistrements entre deux dates dans Excel à l'aide de formules, vous pouvez suivre les étapes suivantes. Cette solution est particulièrement utile lorsque vous souhaitez une mise à jour dynamique : dès que les données originales ou les conditions de date changent, les résultats sont automatiquement mis à jour. Cependant, si vous n'êtes pas très familier avec les formules matricielles, la configuration initiale peut sembler un peu complexe. Si votre ensemble de données est très volumineux, cette méthode peut entraîner une performance de calcul plus lente.
1. Préparez une nouvelle feuille de calcul, par exemple Feuille2, où vous spécifierez les limites de date et afficherez les enregistrements extraits. Entrez la date de début et la date de fin souhaitées respectivement dans les cellules A2 et B2. Pour plus de clarté, vous pouvez ajouter des en-têtes dans A1 et B1 (tels que « Date de début » et « Date de fin »).
2. Dans la cellule C2 de Feuille2, saisissez la formule suivante pour compter combien de lignes dans Feuille1 ont des dates qui se situent dans la plage spécifiée :
=SUMPRODUCT((Sheet1!$A$2:$A$22>=A2)*(Sheet1!$A$2:$A$22<=B2))
Après avoir saisi la formule, appuyez sur Entrée. Cela vous aide à comprendre combien d'entrées correspondent à votre condition de filtre, facilitant ainsi la connaissance du nombre de résultats attendus.
Remarque : Dans cette formule, Feuille1 fait référence à votre feuille de données originale ; $A$2:$A$22 est la colonne de date dans vos données. Ajustez ces références selon vos besoins pour vos données. A2 et B2 sont vos cellules de date de début et de date de fin.
3. Pour afficher les enregistrements correspondants, sélectionnez une cellule vide là où vous souhaitez que la liste extraite commence (par exemple, dans Feuille2, cellule A5). Saisissez la formule matricielle suivante :
=IF(ROWS(A$5:A5)>$C$2,"",INDEX(Sheet1!A$2:A$22,SMALL(IF((Sheet1!$A$2:$A$22>=$A$2)*(Sheet1!$A$2:$A$22<=$B$2),ROW(Sheet1!A$2:A$22)-ROW(Sheet1!$A$2)+1),ROWS(A$5:A5))))
Après avoir tapé la formule, appuyez sur Ctrl + Maj + Entrée (au lieu de simplement Entrée) pour qu'elle fonctionne comme une formule matricielle. Utilisez ensuite la poignée de remplissage pour la faire glisser vers la droite sur autant de colonnes que vous avez de données, puis vers le bas afin que toutes les lignes correspondantes soient affichées. Continuez à faire glisser jusqu'à ce que vous voyiez des cellules vides, ce qui signifie que toutes les données correspondantes ont été extraites.
Astuce :
- Si vous obtenez des zéros, cela signifie qu'il n'y a plus d'enregistrements correspondants à renvoyer. Arrêtez simplement de faire glisser.
- La partie INDEX(...) de la formule peut être adaptée pour extraire d'autres colonnes. Changez la colonne référencée dans la partie Feuille1!A$2:A$22 si vous souhaitez renvoyer d'autres champs.
- Cette formule peut être étendue pour fonctionner avec plusieurs critères ou pour extraire des lignes entières (en répétant la formule dans chaque colonne).
4. Certains résultats de date peuvent apparaître sous forme de nombres à 5 chiffres (numéros de série de date Excel). Pour les convertir en format de date lisible, sélectionnez les cellules correspondantes, allez dans l'onglet Accueil , ouvrez la liste déroulante de formatage et choisissez Date courte. Cela rendra les données extraites plus claires et utilisables.
Précautions :
- Assurez-vous que toutes les entrées de date dans vos données originales sont vraiment au format date, et non stockées sous forme de texte. Sinon, la formule pourrait ne pas fonctionner comme prévu.
- Ajustez les plages de tableaux si la taille de vos données change.
- Si vous voyez des erreurs #NOMBRE! ou #N/A, vérifiez les dates d'entrée vides ou les incohérences dans vos données sources.
Extraire tous les enregistrements entre deux dates à l'aide de Kutools pour Excel
Si vous préférez une solution plus simplifiée et interactive, la fonctionnalité Sélectionner des cellules spécifiques de Kutools pour Excel peut vous aider à extraire des lignes entières correspondant à votre plage de dates en quelques clics seulement, minimisant ainsi le besoin de formules ou de paramètres manuels. Ceci est particulièrement adapté aux utilisateurs qui traitent souvent des tâches de filtrage complexes ou effectuent des opérations par lots sur de grands ensembles de données, car cela réduit les chances d'erreurs de formule et accélère le flux de travail.
Après avoir installé Kutools pour Excel, veuillez suivre les étapes ci-dessous : (Téléchargement gratuit de Kutools pour Excel maintenant!)
1. Tout d'abord, sélectionnez la plage de votre jeu de données que vous souhaitez analyser et extraire. Ensuite, cliquez sur Kutools > Sélectionner > Sélectionner des cellules spécifiques dans le ruban Excel. Cela ouvre une fenêtre de dialogue pour une sélection avancée.
2. Dans la boîte de dialogue Sélectionner des cellules spécifiques :
- Cochez l'option « Ligne entière » pour sélectionner des lignes entières correspondantes.
- Définissez la condition de filtrage : choisissez Supérieur à et Inférieur à dans les listes déroulantes pour votre colonne de dates.
- Entrez manuellement vos dates de début et de fin dans les zones de texte (assurez-vous que le format correspond à vos données).
- Assurez-vous que la logique « Et » est choisie afin que les deux conditions s'appliquent simultanément.

3. Cliquez sur OK. Kutools sélectionnera instantanément toutes les lignes dont la colonne de date se situe dans votre plage spécifiée. Ensuite, appuyez sur Ctrl + C pour copier les lignes sélectionnées, rendez-vous dans une feuille vierge ou un nouvel emplacement, et appuyez sur Ctrl + V pour coller les résultats extraits.
Conseils et précautions :
- L'approche Kutools ne nécessite aucun changement dans vos données originales ni aucune écriture de formules.
- Si vous avez des incohérences de format de date, prévisualisez les résultats de sélection avant de copier.
- Utilisez la fonctionnalité pour des travaux de filtrage répétés ou par lots - répétez rapidement les étapes pour différentes plages de dates.
- Si votre version de Kutools ne montre pas une fonctionnalité comme décrit, mettez-la à jour vers la dernière version pour une meilleure compatibilité.
Analyse de scénario : Cette méthode est idéale pour les utilisateurs gérant des listes avec de nombreuses colonnes ou pour ceux qui doivent extraire régulièrement des enregistrements complets en fonction de limites de dates changeantes.
Code VBA - Utiliser une macro pour filtrer et extraire automatiquement toutes les lignes entre deux dates spécifiées
Si votre flux de travail inclut souvent l'extraction de données entre deux dates et que vous souhaitez automatiser complètement le processus, utiliser une macro VBA peut être un choix judicieux. Avec VBA, vous pouvez inviter les utilisateurs à sélectionner la colonne de dates, saisir les dates de début et de fin, et filtrer et copier automatiquement les lignes correspondantes vers une nouvelle feuille. Cette approche économise des efforts manuels et réduit les erreurs, mais nécessite d'activer les macros et une certaine familiarité avec l'éditeur Visual Basic.
Voici comment configurer une telle macro :
1. Cliquez sur Développeur > Visual Basic pour ouvrir l'éditeur VBA. Dans la nouvelle fenêtre Microsoft Visual Basic pour Applications, cliquez sur Insertion > Module, puis copiez-collez le code suivant dans le Module :
Sub ExtractRowsBetweenDates_Final()
'Updated by Extendoffice
Dim wsSrc As Worksheet
Dim wsDest As Worksheet
Dim rngTable As Range
Dim colDate As Range
Dim StartDate As Date
Dim EndDate As Date
Dim i As Long
Dim destRow As Long
Dim dateColIndex As Long
Dim cellDate As Variant
Set wsSrc = ActiveSheet
Set rngTable = Application.InputBox("Select the data table (including headers):", "KutoolsforExcel", Type:=8)
If rngTable Is Nothing Then Exit Sub
Set colDate = Application.InputBox("Select the date column (including header):", "KutoolsforExcel", Type:=8)
If colDate Is Nothing Then Exit Sub
On Error GoTo DateError
StartDate = CDate(Application.InputBox("Enter the start date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
EndDate = CDate(Application.InputBox("Enter the end date (yyyy-mm-dd):", "KutoolsforExcel", "", Type:=2))
On Error GoTo 0
On Error Resume Next
Set wsDest = Worksheets("FilteredRecords")
On Error GoTo 0
If wsDest Is Nothing Then
Set wsDest = Worksheets.Add
wsDest.Name = "FilteredRecords"
rngTable.Rows(1).Copy
wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
wsDest.Cells(1, 1).PasteSpecial Paste:=xlPasteFormats
End If
destRow = wsDest.Cells(wsDest.Rows.Count, 1).End(xlUp).Row + 1
dateColIndex = colDate.Column - rngTable.Columns(1).Column + 1
For i = 2 To rngTable.Rows.Count
cellDate = rngTable.Cells(i, dateColIndex).Value
If IsDate(cellDate) Then
If cellDate >= StartDate And cellDate <= EndDate Then
rngTable.Rows(i).Copy
wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
wsDest.Cells(destRow, 1).PasteSpecial Paste:=xlPasteFormats
destRow = destRow + 1
End If
End If
Next i
Application.CutCopyMode = False
wsDest.Columns.AutoFit
MsgBox "Filtered results have been added to '" & wsDest.Name & "'.", vbInformation
Exit Sub
DateError:
MsgBox "Invalid date format. Please enter dates as yyyy-mm-dd.", vbExclamation
End Sub
2. Pour exécuter la macro, cliquez sur le bouton (Exécuter) ou appuyez sur F5.
Ensuite, suivez les invites pour terminer les étapes :
- Sélectionnez le tableau de données (y compris les en-têtes) Lorsque la première boîte de dialogue apparaît, sélectionnez tout le tableau, y compris la ligne d'en-tête. Cliquez sur OK.
- Sélectionnez la colonne de date (y compris l'en-tête) Lorsque la deuxième boîte de dialogue apparaît, sélectionnez uniquement la colonne de date, y compris l'en-tête. Cliquez sur OK.
- Entrez les dates de début et de fin Vous serez invité à entrer la date de début (format : aaaa-mm-jj, par exemple, 2025-06-01)Puis entrez la date de fin (par exemple, 2025-06-30)Cliquez sur OK après chaque saisie.
Une feuille de calcul nommée FilteredRecords sera créée automatiquement (si elle n'existe pas déjà). Les lignes correspondantes (où la date se situe entre les dates de début et de fin) seront copiées dans cette feuille. Et toutes les nouvelles lignes correspondantes seront ajoutées sous les résultats existants à chaque exécution de la macro.
Dépannage :
- Si rien ne se passe après exécution, vérifiez vos plages sélectionnées – des plages invalides ou des dialogues annulés feront sortir la macro.
- Assurez-vous que vos entrées de colonne de date sont des dates Excel réelles ; si elles sont stockées sous forme de texte, convertissez-les d'abord pour un filtrage précis.
Analyse de scénario : Cette solution VBA est particulièrement précieuse pour les tâches répétitives, les flux de travail avancés, ou lors du partage d'une solution semi-automatisée avec des utilisateurs non techniques – il suffit d'assigner un bouton pour une utilisation encore plus facile.
Autres méthodes intégrées d'Excel - Utiliser la fonction de filtre intégré d'Excel
Pour les utilisateurs qui préfèrent une approche simple et interactive sans écrire de formules ou de code, la fonction de filtre intégré d'Excel offre un moyen rapide d'afficher et d'extraire des lignes entre deux dates. C'est idéal pour les tâches occasionnelles, les vérifications visuelles ou lorsque vous devez travailler directement avec l'interface de la feuille de calcul. Cependant, elle ne fournit pas de mises à jour automatiques si vos critères de date ou vos données changent – vous devez répéter les étapes pour chaque nouvelle session de filtrage.
Voici comment l'utiliser :
- Sélectionnez votre plage de données, en vous assurant que les en-têtes de colonne sont inclus.
- Allez à l'onglet Données dans le ruban, puis cliquez sur Filtre. De petites flèches déroulantes apparaîtront à côté de chaque en-tête.
- Cliquez sur la flèche pour votre colonne de date et choisissez Filtres de date > Entre....
- Dans la boîte de dialogue, entrez vos dates de début et de fin souhaitées. Assurez-vous que le format correspond au format de date de vos données.
- Cliquez sur OK. Seules les lignes avec des dates dans votre plage spécifiée resteront visibles.
- Sélectionnez toutes les lignes visibles, appuyez sur Ctrl + C pour copier, rendez-vous dans une zone vide ou une autre feuille, et appuyez sur Ctrl + V pour coller les résultats filtrés.
Conseils et précautions :
- Cette méthode est la meilleure pour une inspection rapide et visuelle ou une extraction ad hoc.
- Si votre colonne de date utilise des formats incohérents, corrigez-les avant pour garantir un filtrage précis.
- N'oubliez pas de supprimer le filtre lorsque vous avez terminé pour réafficher l'ensemble des données.
- Les lignes filtrées sont masquées, pas supprimées – vos données originales restent intactes.
Analyse de scénario : Le filtre intégré d'Excel convient le mieux aux tables de taille modérée et lorsque vous devez visualiser ou copier rapidement des sous-ensembles sans sauvegarder de formules ou de macros.
Dépannage et suggestions de résumé :
- Confirmez toujours que vos cellules de date sont formatées de manière cohérente sur toute la feuille de calcul pour que toutes les solutions fonctionnent correctement.
- Lors de l'utilisation de formules ou de VBA, ajustez les références de colonne et de plage pour qu'elles correspondent à la structure réelle de votre feuille afin d'éviter des erreurs d'index ou de référence.
- Pour des performances sur des ensembles de données très volumineux, Kutools ou le filtrage intégré offrent généralement des résultats plus rapides et sont moins susceptibles de dépasser les limites de mémoire/calculation de formules par rapport aux formules matricielles étendues.
- Si vous rencontrez des blancs inattendus ou des enregistrements manquants dans les résultats, revérifiez que vos conditions de date, vos plages d'entrée et vos formats de données sont définis comme prévu.
Démo : Extraire tous les enregistrements entre deux dates à l'aide de Kutools pour Excel
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification 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, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!