Comment rechercher rapidement une valeur dans plusieurs feuilles ou classeurs ?
Avez-vous déjà eu besoin de trouver une valeur spécifique qui pourrait apparaître dans différentes feuilles ou même à travers plusieurs classeurs dans Excel ? C'est un scénario courant, en particulier lorsque vous travaillez sur des projets volumineux, des rapports mensuels, ou lorsque vous consolidez des informations réparties dans plusieurs fichiers. Parcourir manuellement chaque feuille ou fichier n'est pas seulement chronophage, mais également sujet aux erreurs. Dans ce tutoriel, vous découvrirez plusieurs méthodes efficaces pour rechercher des données de manière efficace, que vous cherchiez au sein d'un seul classeur, de plusieurs classeurs, ou que vous ayez besoin d'une solution basée sur des formules ou la consolidation des données. Ces approches répondent aux besoins pratiques que vous pourriez rencontrer dans des flux de travail Excel habituels ou des projets d'analyse de données.
Rechercher une valeur dans plusieurs feuilles d’un classeur avec la fonction Rechercher et Remplacer
Rechercher une valeur dans tous les classeurs d’un dossier avec VBA
Rechercher rapidement une valeur dans plusieurs classeurs ouverts avec Kutools pour Excel
Rechercher une valeur dans plusieurs feuilles à l'aide de formules Excel
Rechercher une valeur dans plusieurs feuilles d’un classeur avec la fonction Rechercher et Remplacer
La fonction Rechercher et Remplacer d’Excel est une méthode basique mais efficace pour trouver rapidement des valeurs spécifiques dans plusieurs feuilles de calcul d'un même classeur. Cette méthode est particulièrement utile lorsque vous savez quelles feuilles vous souhaitez rechercher ou lorsque vos données sont relativement bien structurées dans un seul fichier. Elle ne prend pas en charge la recherche dans différents fichiers ou classeurs fermés, mais elle offre une solution simple pour des recherches rapides.
1. Pour commencer, sélectionnez les onglets des feuilles que vous souhaitez inclure dans votre recherche en maintenant la touche Ctrl enfoncée et en cliquant individuellement sur chaque feuille dans la barre des onglets des feuilles. Cela garantit que la recherche sera appliquée simultanément à toutes les feuilles sélectionnées. Voir capture d'écran :
2. Une fois que vous avez sélectionné les feuilles souhaitées, appuyez sur Ctrl + F pour ouvrir la boîte de dialogue Rechercher et Remplacer. Saisissez la valeur que vous souhaitez trouver dans le champ Rechercher quoi sous l’onglet Rechercher, puis cliquez sur le bouton Rechercher tout. Excel affichera immédiatement une liste de toutes les cellules des feuilles sélectionnées contenant votre valeur de recherche, ainsi que leurs emplacements. Voir capture d'écran :
Astuce : L’outil Rechercher et Remplacer ne recherche que dans les feuilles sélectionnées qui sont ouvertes et visibles. Si vous souhaitez étendre votre recherche à des feuilles supplémentaires, assurez-vous de les sélectionner comme décrit ci-dessus. Si vous oubliez accidentellement une feuille, il suffit de répéter l'opération après l'avoir incluse dans votre sélection.
Précautions : Cette méthode ne recherche pas dans les classeurs fermés ou masqués et ne met pas automatiquement en surbrillance les cellules – elle listera uniquement les résultats pour navigation.
Dépannage : Si vous ne voyez pas les résultats attendus, revérifiez votre sélection de feuilles et confirmez que vous n'avez pas appliqué de filtres ou de protections de cellules qui pourraient cacher ou restreindre la recherche.
Rechercher et remplacer facilement des valeurs dans plusieurs feuilles et classeurs |
La fonctionnalité avancée de Rechercher et Remplacer de Kutools pour Excel offre une méthode efficace pour rechercher et remplacer des valeurs dans plusieurs feuilles ou même dans tous les classeurs ouverts. Avec cette fonctionnalité avancée, vous pouvez gagner du temps et éliminer les erreurs lorsque vous travaillez avec de grands ensembles de données, rendant vos tâches Excel plus rapides et plus précises. |
![]() |
Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant |
Rechercher une valeur dans tous les classeurs d’un dossier avec VBA
Si vous devez rechercher une valeur spécifique dans plusieurs classeurs enregistrés dans un dossier — y compris les fichiers non ouverts — les outils intégrés d’Excel ne peuvent pas le faire directement. Dans ce cas, une macro VBA (Visual Basic for Applications) peut automatiser le processus pour vous, en ouvrant systématiquement chaque classeur du dossier, en parcourant toutes les feuilles de calcul, et en enregistrant où les correspondances ont été trouvées. Cette approche est très pratique pour les audits périodiques ou pour vérifier des valeurs dans des fichiers archivés ou en lot.
1. Commencez par ouvrir un nouveau classeur (ou vide) dans Excel. Sélectionnez la cellule où vous voulez que les résultats de la recherche apparaissent (généralement la cellule A1). Appuyez sur Alt + F11 pour lancer la fenêtre de l'éditeur Microsoft Visual Basic for Applications.
2. Dans l'éditeur VBA, allez dans Insérer > Module pour créer un nouveau module, puis collez le code VBA suivant dans la fenêtre du module.
VBA : Recherche d'une valeur dans tous les classeurs d'un dossier.
Sub SearchFolders()
'UpdatebyKutoolsforExcel20200913
Dim xFso As Object
Dim xFld As Object
Dim xStrSearch As String
Dim xStrPath As String
Dim xStrFile As String
Dim xOut As Worksheet
Dim xWb As Workbook
Dim xWk As Worksheet
Dim xRow As Long
Dim xFound As Range
Dim xStrAddress As String
Dim xFileDialog As FileDialog
Dim xUpdate As Boolean
Dim xCount As Long
Dim xAWB As Workbook
Dim xAWBStrPath As String
Dim xBol As Boolean
Set xAWB = ActiveWorkbook
xAWBStrPath = xAWB.Path & "\" & xAWB.Name
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a forlder"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
xStrSearch = "KTE"
xUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xOut = Worksheets.Add
xRow = 1
With xOut
.Cells(xRow, 1) = "Workbook"
.Cells(xRow, 2) = "Worksheet"
.Cells(xRow, 3) = "Cell"
.Cells(xRow, 4) = "Text in Cell"
Set xFso = CreateObject("Scripting.FileSystemObject")
Set xFld = xFso.GetFolder(xStrPath)
xStrFile = Dir(xStrPath & "\*.xls*")
Do While xStrFile <> ""
xBol = False
If (xStrPath & "\" & xStrFile) = xAWBStrPath Then
xBol = True
Set xWb = xAWB
Else
Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
End If
For Each xWk In xWb.Worksheets
If xBol And (xWk.Name = .Name) Then
Else
Set xFound = xWk.UsedRange.Find(xStrSearch)
If Not xFound Is Nothing Then
xStrAddress = xFound.Address
End If
Do
If xFound Is Nothing Then
Exit Do
Else
xCount = xCount + 1
xRow = xRow + 1
.Cells(xRow, 1) = xWb.Name
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
End If
Set xFound = xWk.Cells.FindNext(After:=xFound)
Loop While xStrAddress <> xFound.Address
End If
Next
If Not xBol Then
xWb.Close (False)
End If
xStrFile = Dir
Loop
.Columns("A:D").EntireColumn.AutoFit
End With
MsgBox xCount & " cells have been found", , "Kutools for Excel"
ExitHandler:
Set xOut = Nothing
Set xWk = Nothing
Set xWb = Nothing
Set xFld = Nothing
Set xFso = Nothing
Application.ScreenUpdating = xUpdate
Exit Sub
ErrHandler:
MsgBox Err.Description, vbExclamation
Resume ExitHandler
End Sub
3. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter cette macro. Une fenêtre de dialogue Sélectionner un dossier apparaîtra, vous permettant de choisir le dossier contenant les classeurs que vous souhaitez rechercher. Voir capture d'écran :
4. Cliquez sur OK. Une fois la recherche terminée, une boîte de message vous informera du nombre total de cellules trouvées contenant votre valeur spécifiée. Voir capture d'écran :
5. Cliquez sur OK pour fermer le message. Tous les emplacements où la valeur a été trouvée sont listés dans une nouvelle feuille de calcul, y compris le nom du classeur, le nom de la feuille de calcul, la référence de la cellule et le contenu exact de la cellule pour examen.
Astuce : Le terme de recherche actuel est défini dans le VBA comme « KTE ». Vous pouvez personnaliser cela en changeant la ligne xStrSearch = "KTE" dans le code pour toute valeur que vous désirez rechercher.
Précautions : Avant de l'exécuter, assurez-vous que tous les classeurs pertinents sont enregistrés et fermés (sauf celui où vous exécutez votre macro, qui peut être ouvert). Les dossiers volumineux avec de nombreux ou complexes fichiers Excel peuvent prendre un certain temps à traiter. Ne pas interrompre la macro pendant son exécution.
Dépannage : Si vous rencontrez des erreurs, vérifiez que tous les fichiers sont des classeurs Excel authentiques (non corrompus ou protégés par mot de passe) et que vos paramètres de sécurité macro permettent l'exécution du code. Si la macro ne se termine pas, essayez de l'exécuter d'abord sur un ensemble plus petit de fichiers.
Rechercher rapidement une valeur dans plusieurs classeurs ouverts avec Kutools pour Excel
Lorsque vous souhaitez effectuer une recherche à travers plusieurs classeurs déjà ouverts dans votre session Excel, Kutools pour Excel propose un panneau Rechercher et Remplacer dédié qui rend le processus beaucoup plus facile et mieux organisé. C'est particulièrement utile pour balayer rapidement vos classeurs sans avoir recours à des scripts ou des configurations compliquées, idéal pour les utilisateurs travaillant souvent avec plusieurs fichiers simultanément et ayant besoin d'un outil convivial et simple pour gérer les recherches.
1. Dans l'un de vos classeurs ouverts, accédez à l'onglet Kutools et sélectionnez Navigation. Ensuite, cliquez sur le bouton Rechercher et Remplacer pour afficher le volet Rechercher et Remplacer généralement situé à gauche de votre fenêtre Excel. Voir capture d'écran :
2. Dans l'onglet Rechercher , entrez la valeur que vous souhaitez rechercher dans la zone de texte Rechercher quoi Choisissez Tous les classeurs dans le menu déroulant Dans pour effectuer la recherche à travers tous les classeurs ouverts. Ensuite, cliquez sur Rechercher tout pour afficher instantanément une liste de toutes les cellules correspondantes, avec leurs emplacements. Voir capture d'écran :
Astuce : L'utilitaire avancé Rechercher et Remplacer de Kutools pour Excel vous permet de rechercher et remplacer des données non seulement dans tous les classeurs ouverts, mais aussi spécifiquement dans des feuilles sélectionnées, le classeur actif, la feuille de calcul active, ou même dans votre sélection actuelle. Cela vous donne un contrôle adapté selon vos besoins.
Précautions : Assurez-vous que tous les classeurs que vous souhaitez rechercher sont ouverts avant de démarrer la recherche, car cet outil ne peut pas rechercher dans des fichiers non ouverts dans Excel.
Dépannage : Si certains fichiers n'apparaissent pas dans vos résultats de recherche, vérifiez qu'ils sont entièrement chargés dans Excel et non en mode de vue protégée ou en lecture seule qui pourrait restreindre l'accès à la recherche.
Démo : Rechercher une valeur dans plusieurs classeurs ouverts avec Kutools pour Excel
Rechercher une valeur dans plusieurs feuilles à l’aide de formules Excel
Dans les situations où vous avez plusieurs noms de feuilles connus dans votre classeur et devez vérifier si et où une valeur spécifique existe parmi ces feuilles, vous pouvez utiliser des formules Excel pour rechercher dynamiquement à travers elles. Cette approche est particulièrement adaptée lorsque vous souhaitez que vos résultats de recherche soient actualisés automatiquement et que votre liste de feuilles est relativement statique ou gérée dans une table séparée.
Cette méthode nécessite que vous connaissiez déjà ou que vous listiez les noms de toutes les feuilles à rechercher. Elle est la plus efficace pour les vérifications automatisées, les tableaux de bord, ou chaque fois que vous souhaitez construire une référence récapitulative sans exécuter un balayage complet à chaque fois.
Avantages : Les résultats se mettent à jour automatiquement lorsque les données changent ; pas besoin de scripts ni d'add-ins ; tout est géré à l'intérieur du classeur.
Inconvénients : Non adapté aux situations où les noms des feuilles changent fréquemment ou si vous avez un très grand nombre de feuilles.
Exemple de scénario : Supposons que vous ayez trois feuilles nommées Feuil1
, Feuil2
et Feuil3
. Vous souhaitez savoir dans quelle(s) feuille(s), une valeur spécifique, telle que "Facture123", apparaît dans la cellule A1, ou simplement vérifier si la valeur existe quelque part dans ces feuilles.
Étape 1 : Supposons que vous ayez une liste de noms de feuilles en D2:D4 (D2 : Feuil1, D3 : Feuil2, D4 : Feuil3). Entrez la valeur à rechercher (par exemple, "Facture123") en E1. Puis, en F2, saisissez cette formule :
=IF(COUNTIF(INDIRECT("'"&D2&"'!A:A"), $E$1) >0, "Found", "Not Found")
Étape 2 : Faites glisser la formule depuis F2 jusqu'à F4 pour vérifier toutes les feuilles listées en D2:D4. Cela retournera "Trouvé" ou "Non trouvé" pour chaque feuille.
Comment ça marche : La formule utilise INDIRECT pour créer une référence à chaque feuille listée et NB.SI pour vérifier si la valeur en E1 apparaît dans la colonne A de chaque feuille. Ajustez la plage A:A
pour cibler une autre colonne ou une plage spécifique (par exemple, A1:Z100
) si nécessaire.
Astuce supplémentaire : Pour récupérer les noms des feuilles contenant la valeur, utilisez la formule matricielle suivante (entrée avec Ctrl + Maj + Entrée dans les anciennes versions d'Excel ou comme une formule classique dans Microsoft 365/Excel 2021+) :
=TEXTJOIN(", ",TRUE,IF(COUNTIF(INDIRECT("'"&D2:D4&"'!A:A"), $E$1)>0, D2:D4, ""))
Cela retournera une liste séparée par des virgules de tous les noms de feuilles où la valeur a été trouvée. Soyez prudent avec INDIRECT — il ne fonctionne qu'avec des classeurs ouverts et ne permet pas de rechercher dans des fichiers fermés.
Précautions : Si les noms des feuilles sont modifiés ou supprimés, la formule retournera une erreur #REF ! ; vérifiez toujours que la liste des noms des feuilles est correcte. Pour les classeurs volumineux, les formules basées sur INDIRECT peuvent ralentir les performances de votre classeur.
Dépannage : Si vous voyez des erreurs, vérifiez que toutes les feuilles référencées existent et que votre plage de recherche est correcte. Pour des listes dynamiques de feuilles, envisagez d’utiliser des plages nommées ou une validation des données pour maintenir automatiquement la liste des feuilles à jour.
Articles liés :
- Comment trouver et remplacer rapidement à travers plusieurs feuilles de calcul ou l’intégralité du classeur ?
- Comment trouver et remplacer rapidement dans plusieurs fichiers Excel ouverts ?
- Comment trouver la plus grande valeur négative (inférieure à 0) dans Excel ?
- Comment extraire tous les doublons d'une colonne dans Excel ?
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
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, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !