Recherche d'une valeur dans plusieurs feuilles

Bonjour,

J'ai un souci sur une recherche qui me donne du fil à retordre.

Alors j'ai 26 feuilles dans un classeur qui sont nommées en fonction d'un type de mot (exple: stéthoscope, gants,... c'est du matériel médical).

Dans chaque feuille j'ai des tableaux qui ont le même nombre de colonnes avec les mêmes noms (exple: séquences de mots clés, note/10, recherches mensuelles, ...). Par contre elles n'ont pas le même nombre de ligne.

Ce que je veux s'est retrouver les 20 recherches mensuelles les plus élevées de toutes les feuilles. Ca c'est bon. J'ai bidouillé à la main.

En fonction de ça je veux y associer les séquences de mots clés correspondants venant donc de la feuille correspondante.

Exple: la séquence de mots clés "fauteuil roulant" est celle qui est la plus tapé avec 5000 mots par mois,

la séquence de mots clés "gant latex" est celle qui est la plus tapé avec 4900 mots par mois,... etc.

Donc si je rentre:

=GRANDE.VALEUR(Gants:Instruments!$F$2:$F$100;1)

dans une cellule j'ai bien la plus grande valeur.

Mais

=EQUIV(Gants:Instruments!F2:F100;0)

me sort "#REF! et

=RECHERCHEV(D2;Gants:Instruments!F2:F100;1;false)

ressort "#VALEUR!"

J'ai essayé de me dépatouiller avec equiv, index, ... mais sans succès. Si quelqu'un à une idée.

Merci

Bonjour

Les fonctions EQUIV et RECHERCHEV ne s'appliquent que sur une seule feuille et ne renvoient qu'un seul résultat: Le premier trouvé

Sauf à utiliser un Code VBA comme sur ce fichier de Banzai64

https://forum.excel-pratique.com/excel/recherche-d-une-valeur-t27282.html

Cordialement

Bonjour,

Merci pour votre lien. En fait j'étais déjà aller voir ce poste mais j'ai pas trop compris la structure du module. En effet il y a deux feuilles (Module1 et Feuil1) mais j'ai pas l'impression que les deux fonctionnent l'une avec l'autre et du coup je sais pas comment les utiliser.

Voici la feuil1

Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Range("B2:B10"), Target) Is Nothing And Target.Count = 1 Then
    Recherche Target.Value, Target.Row
  End If
End Sub

Et voici le Module1

Option Explicit

Sub Recherche(Nom As String, Ligne As Long)
Dim Cel As Range
Dim Depart As String
Dim Ws As Worksheet

  Range("C" & Ligne & ":D" & Ligne).ClearContents
  For Each Ws In Sheets(Array("Electricité", "Menuiserie", "Plomberie", "Aménagement"))
    Set Cel = Ws.Cells.Find(what:=Nom, LookIn:=xlValues, lookat:=xlWhole)
    If Not Cel Is Nothing Then
      Range("C" & Ligne) = Cel.Offset(0, 1)
      Range("D" & Ligne) = Ws.Name
      Exit Sub
    End If
  Next Ws
    MsgBox "Produit non trouvé"
End Sub

Merci d'avance pour votre aide

Rechercher des sujets similaires à "recherche valeur feuilles"