Note: The other languages of the website are Google-translated. Back to English
Se connecter  \/ 
x
or
x
S’enregistrer  \/ 
x

or

Comment rechercher / trouver des valeurs dans un autre classeur?

Cet article explique comment rechercher des valeurs et renvoyer des données à partir d'un autre classeur, et comment rechercher / rechercher des valeurs à partir d'un autre classeur. Ici, je vais présenter trois solutions en détail.


Données Vlookup et valeurs de retour d'un autre classeur dans Excel

Par exemple, vous créez une table d'achat de fruits dans Excel, et vous devez maintenant rechercher les fruits d'un autre classeur et renvoyer les prix correspondants comme illustré ci-dessous. Ici, je vais vous guider pour le résoudre avec la fonction VLOOKKUP dans Excel.

1. Ouvrez les deux classeurs dans lesquels vous allez rechercher les valeurs et les renvoyer.

2. Sélectionnez une cellule vide, vous retournerez le prix, tapez la formule = RECHERCHEV (B2, [Price.xlsx] Sheet1! $ A $ 1: $ B $ 24,2, FALSE) dedans, puis faites glisser sa poignée de remplissage pour appliquer cette formule à la plage selon vos besoins.

Notes:
(1) Dans la formule ci-dessus, B2 est le fruit que vous rechercherez dans un autre classeur, Price.xlsx indique le nom de fichier du classeur à partir duquel vous rechercherez, Sheet1 signifie le nom de la feuille à partir de laquelle vous rechercherez et A $ 1 : $ B $ 24 est la plage à partir de laquelle vous rechercherez. Vous pouvez les changer selon vos besoins.
(2) Après avoir fermé le classeur que vous avez recherché, la formule sera automatiquement mise à jour = RECHERCHEV (B2, 'W: \ test \ [Price.xlsx] Sheet1'! $ A $ 1: $ B $ 24,2, FALSE), le W: \ test \ est le chemin d'enregistrement du classeur que vous avez recherché.

Jusqu'à présent, tous les prix sont retournés correctement comme illustré à gauche. Et ces prix seront mis à jour automatiquement si le classeur d'origine vous a recherché des modifications.

ruban de note La formule est trop compliquée à retenir? 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

Données Vlookup et valeurs de retour d'un autre classeur fermé avec VBA

Il peut être difficile de configurer le chemin d’enregistrement, le nom de fichier et la feuille de calcul dans la fonction RECHERCHEV. Cette méthode introduira un VBA pour le résoudre facilement.

1. appuie sur le autre + F11 touches pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez sur l' insérer > Module, puis collez ci-dessous le code VBA dans la fenêtre du module d'ouverture.

VBA: données Vlookup et valeurs de retour d'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
Notes: Ce VBA renverra des valeurs dans une colonne qui est 2 colonnes derrière la colonne sélectionnée. Par exemple, je sélectionne la colonne B lors de l'application de ce VBA, les valeurs seront renvoyées dans la colonne D. Si vous devez modifier la colonne de destination, veuillez trouver le code xRg.Offset (0, 2) .Formula = xString & GetColumn (xFCell.Column + 1) & "$" & xFCell.Row et remplacez 2 à un autre numéro selon vos besoins.

3. appuie sur le F5 ou cliquez sur la course bouton pour exécuter ce VBA.

4. Dans la boîte de dialogue d'ouverture, spécifiez la plage de données que vous recherchez, puis cliquez sur le bouton OK .

5. Sélectionnez maintenant le classeur dans lequel vous rechercherez les valeurs dans la boîte de dialogue d'ouverture Sélectionner un classeur, puis cliquez sur le bouton Ouvert .

Désormais, toutes les valeurs sélectionnées sont recherchées dans le classeur fermé spécifié et les valeurs correspondantes sont renvoyées dans la colonne spécifiée. Voir la capture d'écran:


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ée...
  • 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 gammes...
  • 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 cellules...
  • 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 PDF...
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. 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
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    leigh_87 · 2 years ago
    Hi this works great thanks! Would it be at all possible to show me how i would change the code if i have the workbook open that i would like to lookup the data in?