Comment rechercher/trouver des valeurs dans un autre classeur ?
Cet article explique comment rechercher des valeurs et retourner des données depuis un autre classeur, ainsi que la manière de trouver/rechercher des valeurs dans un autre classeur. Je vais ici introduire trois solutions en détail.
- Recherche de données et retour de valeurs depuis un autre classeur dans Excel
- Recherche de données et retour de valeurs depuis un autre classeur fermé avec VBA
Recherche de données et retour de valeurs depuis un autre classeur dans Excel
Par exemple, vous créez un tableau d'achat de fruits dans Excel, et maintenant vous devez rechercher les fruits dans un autre classeur et retourner les prix correspondants comme le montrent les captures d'écran ci-dessous. Ici, je vais vous guider pour résoudre cela avec la fonction RECHERCHEV dans Excel.
1. Ouvrez les deux classeurs à partir desquels vous allez rechercher des valeurs et où vous retournerez les valeurs.
2. Sélectionnez une cellule vide où vous retournerez le prix, puis tapez la formule =RECHERCHEV(B2,[Prix.xlsx]Feuil1!$A$1:$B$24,2,FALSE) dans celle-ci, puis faites glisser son poignée de recopie pour appliquer cette formule à la plage dont vous avez besoin.

Remarques:
(1) Dans la formule ci-dessus, B2 est le fruit que vous recherchez dans un autre classeur, Prix.xlsx indique le nom du fichier du classeur dans lequel vous effectuez la recherche, Feuil1 signifie le nom de la feuille dans laquelle vous effectuez la recherche, et A$1:$B$24 est la plage dans laquelle vous effectuez la recherche. Vous pouvez les modifier selon vos besoins.
(2) Après avoir fermé le classeur dans lequel vous avez effectué la recherche, la formule se mettra automatiquement à jour vers =RECHERCHEV(B2,'W:\test\[Prix.xlsx]Feuil1'!$A$1:$B$24,2,FALSE), où W:\test\ est le chemin de sauvegarde du classeur dans lequel vous avez effectué la recherche.
Jusqu'à présent, tous les prix ont été correctement retournés comme le montre la capture d'écran de gauche. Et ces prix se mettront à jour automatiquement si le classeur d'origine dans lequel vous avez effectué la recherche change.
![]() | La formule est trop compliquée à mémoriser ? Enregistrez la formule en tant qu'entrée de texte automatique pour la réutiliser en un seul clic à l'avenir ! Lire la suite… Essai gratuit |

Découvrez la magie d'Excel avec Kutools AI
- Exécution intelligente : Effectuez des opérations sur les cellules, analysez les données et créez des graphiques, le tout piloté par des commandes simples.
- Formules personnalisées : Générez des formules adaptées pour rationaliser vos flux de travail.
- Codage VBA : Écrivez et implémentez du code VBA sans effort.
- Interprétation des formules : Comprenez facilement des formules complexes.
- Traduction de texte : Surmontez les barrières linguistiques dans vos feuilles de calcul.
Recherche de données et retour de valeurs depuis un autre classeur fermé avec VBA
Il peut être un peu confus de configurer le chemin de sauvegarde, le nom de fichier et la feuille de calcul dans la fonction RECHERCHEV. Cette méthode présente une solution VBA pour résoudre cela facilement.
1. Appuyez sur les touches Alt + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code VBA ci-dessous dans la fenêtre de module qui s'ouvre.
VBA : Recherche de données et retour de valeurs depuis un autre classeur fermé
Private Function GetColumn(Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1) \ 26 + 64) & Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xUserRange = Application.InputBox("Lookup values :", "Kutools for Excel", xAddress, Type:=8)
If Err <> 0 Then Exit Sub
Set xUserRange = Application.Intersect(xUserRange, Application.ActiveSheet.UsedRange)
xFileName = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", 1, "Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & xSourceSh.Name & "'!$"
For Each xRg In xUserRange
Set xFCell = xSourceSh.Cells.Find(xRg.Value, , xlValues, xlWhole, , , False)
If Not (xFCell Is Nothing) Then
xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row
End If
Next
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub
RemarqueCette VBA retournera des valeurs dans une colonne située 2 colonnes après la colonne sélectionnée. Par exemple, si je sélectionne la colonne B lors de l'application de cette VBA, les valeurs seront retournées dans la colonne D. Si vous devez changer la colonne de destination, veuillez trouver le code xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row et remplacer 2 par un autre nombre selon vos besoins. 3. Appuyez sur la touche F5 ou cliquez sur le bouton Exécuter pour exécuter cette VBA.
4. Dans la boîte de dialogue qui s'ouvre, veuillez spécifier la plage de données dans laquelle vous effectuerez la recherche, puis cliquez sur le bouton OK bouton.
5. Maintenant, veuillez sélectionner le classeur dans lequel vous effectuerez la recherche dans la boîte de dialogue Sélectionner un classeur qui s'ouvre, puis cliquez sur le bouton Ouvrir bouton.
Maintenant, toutes les valeurs sélectionnées sont recherchées dans le classeur fermé spécifié, et les valeurs correspondantes sont retournées dans la colonne spécifiée. Voir la capture d'écran :
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 !