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, surtout lorsqu'on travaille sur de grands projets, des rapports mensuels, ou lors de la consolidation d'informations réparties dans plusieurs fichiers. Parcourir manuellement chaque feuille ou fichier est non seulement chronophage mais aussi sujet aux erreurs. Dans ce tutoriel, vous découvrirez plusieurs méthodes efficaces pour rechercher des données de manière efficiente, que vous recherchiez dans un seul classeur, plusieurs classeurs, ou que vous ayez besoin d'une solution basée sur des formules ou consolidée. Ces approches répondent à des besoins pratiques que vous pourriez rencontrer dans les flux de travail quotidiens sous Excel ou dans 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 en utilisant des 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 simple mais efficace pour trouver rapidement des valeurs spécifiques dans plusieurs feuilles de calcul au sein du 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 directe 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 sur chaque feuille de calcul individuellement dans la barre des onglets de feuille. 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 voulez 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 à d'autres feuilles, assurez-vous de les sélectionner comme décrit ci-dessus. Si vous oubliez accidentellement une feuille, répétez simplement 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 n'affiche qu'une liste des résultats pour la 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 que vous n'avez pas encore ouverts — les outils intégrés d'Excel ne peuvent pas faire cela directement. Dans ce cas, une macro VBA (Visual Basic for Applications) peut automatiser le processus pour vous, en ouvrant systématiquement chaque classeur dans le dossier, en analysant toutes les feuilles de calcul et en enregistrant où des correspondances ont été trouvées. Cette approche est très pratique pour des audits périodiques ou pour vérifier des valeurs dans des fichiers archivés ou par lots.
1. Commencez par ouvrir un nouveau classeur (ou un classeur vierge) dans Excel. Sélectionnez la cellule où vous souhaitez 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 à Insertion > 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 qui contient 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 cellule et le contenu exact de la cellule pour votre revue.
Astuce : Le terme de recherche actuel est défini dans le VBA comme « KTE ». Vous pouvez personnaliser cela en modifiant la ligne xStrSearch = "KTE" dans le code pour rechercher n'importe quelle autre valeur.
Précautions : Avant de lancer la macro, assurez-vous que tous les classeurs concernés sont enregistrés et fermés (sauf celui dans lequel vous exécutez votre macro, qui peut être ouvert). Les dossiers volumineux contenant de nombreux fichiers Excel complexes peuvent nécessiter un certain temps de traitement. 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é des macros permettent l'exécution du code. Si la macro ne se termine pas, essayez de l'exécuter sur un ensemble plus petit de fichiers en premier.
Rechercher rapidement une valeur dans plusieurs classeurs ouverts avec Kutools pour Excel
Lorsque vous souhaitez effectuer une recherche dans 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 organisé. C’est particulièrement utile pour balayer rapidement vos classeurs sans avoir besoin de scripts ou de configurations compliquées, idéal pour les utilisateurs qui travaillent souvent avec plusieurs fichiers en même temps et ont 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. Puis cliquez sur le bouton Rechercher et Remplacer pour afficher le panneau Rechercher et Remplacer , généralement situé à gauche de votre fenêtre Excel. Voir capture d'écran :
2. Dans l'onglet Rechercher , saisissez la valeur que vous souhaitez rechercher dans le champ Rechercher quoi . Choisissez Tous les classeurs dans le menu déroulant Dans pour effectuer la recherche dans 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 les feuilles sélectionnées, le classeur actif, la feuille de calcul active, ou même uniquement dans votre sélection actuelle. Cela vous donne un contrôle personnalisé adapté à 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 des fichiers qui ne sont pas actuellement 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 qu'ils ne sont pas en mode de vue protégée ou en lecture seule, ce 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 en utilisant des formules Excel
Dans les situations où vous avez plusieurs noms de feuilles connues dans votre classeur et que vous 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 actualiser automatiquement vos résultats de recherche 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 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 créer une référence de synthèse sans effectuer une analyse complète à chaque fois.
Avantages : Les résultats s'actualisent automatiquement lorsque les données changent ; pas besoin de scripts ou d'add-ins ; tout est géré à l'intérieur du classeur.
Inconvénients : Ne convient pas 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 Feuille1
, Feuille2
et Feuille3
. Vous voulez 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 dans D2:D4 (D2: Feuille1, D3: Feuille2, D4: Feuille3). Entrez la valeur à rechercher (par exemple, « Facture123 ») dans E1. Ensuite, dans F2, entrez cette formule :
=IF(COUNTIF(INDIRECT("'"&D2&"'!A:A"), $E$1) >0, "Found", "Not Found")
Étape 2. Faites glisser la formule de F2 à F4 pour vérifier toutes les feuilles listées dans D2:D4. Cela renverra « Trouvé » ou « Non trouvé » pour chaque feuille.
Fonctionnement : La formule utilise INDIRECT pour créer une référence à chaque feuille de calcul listée et NB.SI pour vérifier si la valeur dans 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 de tableau suivante (entrée avec Ctrl + Shift + Entrée dans les anciennes versions d’Excel ou comme formule classique dans Microsoft 365/Excel 2021+) :
=TEXTJOIN(", ",TRUE,IF(COUNTIF(INDIRECT("'"&D2:D4&"'!A:A"), $E$1)>0, D2:D4, ""))
Cela renverra une liste séparée par des virgules de tous les noms de feuilles où la valeur est trouvée. Soyez prudent avec INDIRECT – il ne fonctionne qu'avec des classeurs ouverts et ne permet pas de rechercher des fichiers fermés.
Précautions : Si les noms des feuilles sont modifiés ou supprimés, la formule retournera une erreur #REF ! ; assurez-vous toujours que la liste des noms de 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 de feuilles dynamiques, envisagez d’utiliser des plages nommées ou une validation des données pour maintenir la liste des feuilles mise à jour automatiquement.
Articles connexes :
- Comment trouver et remplacer rapidement dans plusieurs feuilles de calcul ou dans tout le 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é 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!