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

Comment rechercher rapidement une valeur dans plusieurs feuilles ou classeurs?

Avez-vous déjà imaginé de rechercher une certaine valeur dans plusieurs feuilles ou classeurs dans Excel? Ce didacticiel présente différentes méthodes pour résoudre les problèmes de recherche dans plusieurs feuilles ou de recherche dans plusieurs classeurs.

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

Recherchez rapidement une valeur dans plusieurs classeurs ouverts avec Kutools for Excel bonne idée3


Avec Excel's Rechercher et remplacer fonction, vous pouvez trouver une certaine valeur sur plusieurs feuilles.

1. Sélectionnez plusieurs onglets de feuille à partir desquels vous souhaitez rechercher une valeur en maintenant le bouton Ctrl et en cliquant sur les feuilles de calcul dans le Barre d'onglets de la feuille un par un. Voir la capture d'écran:

valeur de recherche de document dans plusieurs feuilles 1

2. Appuyez ensuite sur Ctrl + F pour activer le Rechercher et remplacer et saisissez la valeur que vous souhaitez rechercher dans le Trouvez ce que zone de texte sous Find onglet, puis cliquez sur Trouver tout bouton pour lister tous les résultats. Voir la capture d'écran:

valeur de recherche de document dans plusieurs feuilles 2


Rechercher et remplacer de la valeur sur les feuilles et les classeurs

Kutools for Excelest avancé Rechercher et remplacer fonction, peut vous aider à trouver et à remplacer une valeur sur plusieurs feuilles et classeurs ouverts.  Téléchargement gratuit
trouver remplacer
 
Kutools for Excel: avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation dans 30 jour.

Si vous souhaitez rechercher une valeur dans tous les classeurs fermés à partir d'un dossier, vous ne pouvez appliquer qu'un VBA pour le résoudre.

1. Activez un nouveau classeur et sélectionnez une cellule, puis appuyez sur Alt + F11 clés pour ouvrir Microsoft Visual pour les applications de base fenêtre.

2. Cliquez insérer > Module et collez ci-dessous VBA dans la nouvelle fenêtre Module.

VBA: recherchez 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 ensuite sur F5 clé ou cours bouton pour exécuter ce VBA, et un Sélectionnez un dossier La boîte de dialogue apparaît pour vous rappeler de sélectionner un dossier dans lequel vous souhaitez rechercher une valeur. Voir la capture d'écran:

valeur de recherche de document dans plusieurs feuilles 3

4. Et puis cliquez sur OK et une autre boîte de dialogue apparaît pour vous rappeler que le nombre de cellules a été trouvé. Voir la capture d'écran:

valeur de recherche de document dans plusieurs feuilles 4

5. Cliquez OK à close il, et toutes les cellules trouvées sont répertoriées dans la feuille de calcul actuelle avec les informations correspondantes.

valeur de recherche de document dans plusieurs feuilles 5

Pointe: Dans ci-dessus VBA, vous recherchez la valeur «KTE»et tu peux changer «KTE» à partir de ce xStrSearch = "KTE" à une autre valeur selon vos besoins.


Si vous souhaitez simplement rechercher une valeur dans plusieurs classeurs ouverts, vous pouvez utiliser Kutools for Excel»est avancé Rechercher et remplacer utilitaire.

Kutools for Excel, avec plus de 300 fonctions pratiques, rend vos travaux plus faciles. 

Après installation gratuite Kutools for Excel, veuillez faire comme ci-dessous:

1. Dans l'un des classeurs ouverts, cliquez sur Kutools > Navigation, puis cliquez sur le Rechercher et remplacer bouton (dans la fenêtre de contrôle qui apparaît maintenant) bouton de recherche de document aller à Rechercher et remplacer vitre. Voir la capture d'écran:

valeur de recherche de document dans plusieurs feuilles 6

2. Puis clique Find et tapez la valeur que vous souhaitez rechercher dans le Trouvez ce que zone de texte, puis sélectionnez Tous les classeurs du Dans liste déroulante, et cliquez sur Trouver tout pour lister toutes les cellules trouvées. Voir la capture d'écran:
doc kutools trouver remplacer 2

Pointe:

Avec Kutools for Excelest avancé Rechercher et remplacer utilitaire, vous pouvez rechercher et remplacer la valeur dans les feuilles sélectionnées sur plusieurs classeurs, tous les classeurs, classeur actif, feuille active ou sélection.
doc kutools trouver remplacer 3


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-2021 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes 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 (18)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Merci pour ce VBA, cela fonctionne parfaitement pour rechercher plusieurs fichiers Excel, mais il est possible de lui faire renvoyer une 5ème colonne avec un numéro de référence ? Autre
xCompte = xCompte + 1
xLigne = xLigne + 1
.Cells(xLigne, 1) = xWb.Nom
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
.Cellules(xLigne, 5) = ???
Ce commentaire a été minimisé par le modérateur sur le site
Merci pour ce VBA, cela fonctionne parfaitement pour rechercher plusieurs fichiers Excel, mais il est possible de lui faire renvoyer une 5ème colonne avec un numéro de référence ? Autre
xCompte = xCompte + 1
xLigne = xLigne + 1
.Cells(xLigne, 1) = xWb.Nom
.Cells(xRow, 2) = xWk.Name
.Cells(xRow, 3) = xFound.Address
.Cells(xRow, 4) = xFound.Value
.Cellules(xLigne, 5) = ???
Ce commentaire a été minimisé par le modérateur sur le site
C'est ce que je veux qu'il renvoie "Instruction du site" qui est allouée à tout le texte dans la cellule
Texte de cellule de feuille de calcul de classeur dans l'instruction de site de cellule
Rapport de quart Emicc 01-10-17.xlsx Sheet1 $D$20 Installation du CMS 1773
Rapport de quart Emicc 01-10-17.xlsx Sheet1 $D$21 Installation du CMS 1763
Rapport de quart Emicc 01-10-17.xlsx Sheet1 $D$24 Installation du CMS 1551
Ce commentaire a été minimisé par le modérateur sur le site
Merci. ça m'a beaucoup aidé =)
Ce commentaire a été minimisé par le modérateur sur le site
Comment puis-je ajouter une autre colonne et amener la valeur qui est toujours 3 colonnes à droite sur la valeur trouvée ?
Ce commentaire a été minimisé par le modérateur sur le site
Désolé je ne peux pas t'aider, tu peux aller sur notre forum https://www.extendoffice.com/forum.html pour poursuivre la question, peut-être que quelqu'un peut vous aider.
Ce commentaire a été minimisé par le modérateur sur le site
Avez-vous déjà compris cela? J'ai besoin de ça aussi.
Ce commentaire a été minimisé par le modérateur sur le site
Votre code fonctionne très bien, je cherche un code qui trouve deux textes dans des fichiers excel, savez-vous comment c'est possible ?
Ce commentaire a été minimisé par le modérateur sur le site
Désolé, je n'ai aucune idée sur ce problème, vous pouvez aller sur notre forum https://www.extendoffice.com/forum.html pour continuer le problème, peut-être que quelqu'un connaît la réponse.
Ce commentaire a été minimisé par le modérateur sur le site
Parfait pour ce dont j'ai besoin, sauf qu'il crée une nouvelle feuille à chaque recherche. Comment modifier le code pour utiliser une seule feuille pour chaque recherche au lieu d'en créer une nouvelle ? Merci, James
Ce commentaire a été minimisé par le modérateur sur le site
Génial cela fonctionne parfaitement,
Pourriez-vous m'aider, je voudrais créer un lien hypertexte vers chaque cellule où la valeur a été trouvée.

Merci d'avance
Ce commentaire a été minimisé par le modérateur sur le site
moi aussi j'aimerais ! :)
Ce commentaire a été minimisé par le modérateur sur le site
como generar códigos qr
Ce commentaire a été minimisé par le modérateur sur le site
Comment créer un lien hypertexte sous la colonne C pour toutes les valeurs de cellule dans le même code ?
Ce commentaire a été minimisé par le modérateur sur le site
HI dans ma feuille de travail avec plus d'un enregistrement Lakhs, les scripts ont échoué.
Ce commentaire a été minimisé par le modérateur sur le site
Salut, Dhireesh, le code VBA a sa propre limitation. Tu pourrais essayer Kutools for Excel's Fiind and Replace, mais il peut s'exécuter lentement, s'il vous plaît soyez patient et mieux vaut enregistrer les classeurs avant.
Ce commentaire a été minimisé par le modérateur sur le site
le programme s'arrête ici :

Set xWb = Workbooks.Open(Filename:=xStrPath & "\" & xStrFile, UpdateLinks:=0, ReadOnly:=True, AddToMRU:=False)
Ce commentaire a été minimisé par le modérateur sur le site
Salut, Mike, j'ai mis à jour le VBA dans l'article, veuillez réessayer. S'il y a un problème, veuillez me le faire savoir, merci.
Il n'y a pas encore de commentaires postés ici

Nous suivre

Copyright © 2009 - www.extendoffice.com. | Tous les droits sont réservés. Alimenté par ExtendOffice. | | Plan du site
Microsoft et le logo Office sont des marques commerciales ou des marques déposées de Microsoft Corporation aux États-Unis et / ou dans d'autres pays.
Protégé par Sectigo SSL