[EXCEL] Recherchev avec doublons

Bonjour à tous,

Je vous expose mon problème. J'ai actuellement 2 fichiers : Suivi et Report. Je souhaite faire un Recherchev dans le Report depuis le Suivi. Ma recherche consiste à trouver le nom d'un client de la colonne B et à afficher le prix situé dans une autre colonne.

Voici la fonction que j'utilise actuellement :

=RECHERCHEV(B2;'[Report.xlsm]VENTES'!$E:$Q;13;0)

Mon problème vient du fait que j'ai des doublons dans la colonne dans laquelle je recherche des clients dans le Report et le Recherchev affiche automatiquement la valeur du prix du premier doublon (qui est vide donc il affiche 0) or j'aimerai pouvoir afficher le prix dès qu'il y a une valeur présente dans la case donc pour le deuxième ou troisième doublon (tout dépend des cas).

Je n'ai pas envie de supprimer ces doublons et je ne souhaite pas non plus trier le tableau Report.

Auriez-vous une solution à me proposer ? Suis-je obligé d'utiliser une macro ou alors est-il possible de passer par des fonctions comme =SI ?

Merci d'avance pour votre aide et vos réponses,

Je reste à votre disposition pour plus d'informations par rapport à ma demande,

Félix

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Bonjour

    Sans VBA et par formule matricielle; les 2 classeurs doivent être ouverts
    maquette-princioe à adapter à tes classeurs
    http://www.cijoint.fr/cjlink.php?file=cj201012/cijwIV1SCz.zip
    1. Bonsoir,

      Merci beaucoup, j'ai réussi à faire marcher la formule mais finalement, je vais tout insérer dans le même fichier et j'aimerai pouvoir réaliser la même chose que la macro suivante en allant prendre les informations dans un autre fichier et non un onglet contenu dans ce fichier.
      Pour résumer, la macro suivante était présente dans le fichier Suivi et j'aimerai pouvoir l'intégrer dans un onglet de mon Report en allant piocher dans mon Suivi. Est-ce réalisable ?

      Sub Actualiser_VD_Suivi()

      MsgBox "Attention cette opération peut durer plusieurs minutes!"
      i = 4
      j = 2

      Do

      If Sheets("Clients").Cells(i, 17) = ("VD") Then

      If Sheets("Clients").Cells(i, 24) <> "" Then

      Sheets("Com VD Suivi").Cells(j, 1) = Sheets("Clients").Cells(i, 19)
      Sheets("Com VD Suivi").Cells(j, 2) = Sheets("Clients").Cells(i, 5)
      j = j + 1
      End If
      End If
      i = i + 1

      Loop Until Sheets("Clients").Cells(i, 67) = ""

      End Sub

      Merci d'avance

      Félix
      1. Contributeur
        Finalement, je vais tout insérer dans le même fichier et j'aimerai pouvoir ré


        Pour résumer, la macro suivante était présente dans le fichier Suivi et j'aimerai pouvoir l'intégrer dans un onglet de mon Report en allant piocher dans mon Suivi

        fallait peut être le dire AVANT.

        Un bénévole n'est pas taillable et corvéable à merci
        --
        1. Désolé mais c'est quelque chose que j'ai remarqué par la suite car le fichier en question sur lequel j'ai adapté votre formule devenait trop volumineux, il n'était pas question d'abuser de votre aide.