RechercheV dans VBA

Bonjour,

Je souhaiterai inclure une rechercheV dans le VBA en tant que réponse, mais je n'y arrive pas, et je n'ai pas trouvé de moyen pour contourner le problème.

Je cherche à faire apparaitre une productivité en fonction de la date saisie. Savant que chaque mois correspond à un fichier différent.

Par exemple:
Function R(mois)
If mois= "01/01/2011" or "02/01/2011" or ... or "31/01/2011" then
R= Recherchev(mois;'Prod'!B1:Z100;10;faux)
end If
End Funtion

J'ai essayé de mettre des guillemets de toutes les façon possible mais rien ne marche.
Aidez moi c'est très urgent!!
Merci d'avance

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. sachant que le "mois" inclu dans la recherche doit être le meme que le "mois" suivant le "if"
    1. salut,

      j'ai regardé ton problème et un peu avancé mais je bute également sur un problème : avec ce code ça fonctionne jusqu'à 'prod = ...' (pour info il fallait remplacer le terme français par le terme anglais "VLookup" et préciser qu'on utilise une fonction de feuille de calcul >> "WorksheetFunction").

      Function prod(mois_saisi As Date) As Single

      'j'ai mis 01/01/2011 dans C1
      mois_saisi = Sheets(1).Range("C1").Value

      'il faut déclarer en tant que date les valeurs à rechercher pour que ça marche
      Dim date_test As Date
      date_test = "01/01/2011"

      If mois_saisi = date_test Then
      'plantage ligne ci-dessous :
      prod = WorksheetFunction.VLookup(mois_saisi, "A1:B5", 2, False)
      End If

      End Function

      si quelqu'un a une idée...
      1. bonjour

        je vois dans ton code:

        If mois= "01/01/2011" or "02/01/2011" or ... or "31/01/2011" then
        R= Recherchev(mois;'Prod'!B1:Z100;10;faux)

        mois serait le nom d'une cellule et le nom de la zone RechercheV ?

        et pourquoi énumérer tous les jours du mois au lieu de prendre val(mid(mois,3,2)) en 1 seule fois ?
        1. Sans compter que RechercheV renvoie des résultats parfois douteux...
          1. Contributeur
            Bonjour,
            c'est très urgent

            Tellement pressée qu'il est difficile de te répondre car tu es imprécise:
            Par exemple: "mois" est il dans ton tableau sous de nombre (1 pour janvier) ou sous forme littérale (janvier non sous format personnalisé)

            proverbe chinois: "si tu es pressé(e), commence par t'asseoir"