IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Recherchev renvoi 0 au lieu de nombre


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 27
    Points : 15
    Points
    15
    Par défaut Recherchev renvoi 0 au lieu de nombre
    Bonjour,

    J'ai une requête qui me permet de réaliser une recherche v sur une feuille de calcul avec cette formule pour exemple:
    =XRECHERCHEV(A2;"'C:\Perso\[" & D2 & "]_Synthèse'!$A$2:$F$35";6)


    J'ai un souci lors du renvoi de nombre. La fonction me renvoi 0. Quand c'est du texte qu'il recherche pas de souci.

    Code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Option Explicit
     
    Public Function XRECHERCHEV(ByVal valRecherchee As Variant, _
                                ByVal TabMatrice As Variant, _
                                ByVal colonneIndex As Integer)
     
     
    If TypeName(TabMatrice) = "Range" Then
        XRECHERCHEV = Application.WorksheetFunction.VLookup(valRecherchee, _
                                                            TabMatrice, _
                                                            colonneIndex, _
                                                            True)
    Else
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim sRange As String
        Dim sSheet As String
        Dim sWbook As String
        Dim sFPath As String
        Dim sSQL   As String
     
        sRange = Replace(Split(TabMatrice, "!")(1), "$", vbNullString)
        sSheet = Split(Split(TabMatrice, "]")(1), "'")(0)
        sWbook = Split(Split(TabMatrice, "[")(1), "]")(0)
        sFPath = Mid(Split(TabMatrice, "[")(0), 2)
     
        valRecherchee = "'" & Replace(valRecherchee, "'", "''") & "'"
     
        sSQL = "SELECT [F" & colonneIndex & "] " & _
               "FROM [" & sSheet & "$" & sRange & "] " & _
               "WHERE [F1] = " & valRecherchee
     
     
        Set db = DAO.OpenDatabase(sFPath & sWbook, False, False, "Excel 8.0;HDR=NO;")
        Set rs = db.OpenRecordset(sSQL, DAO.dbOpenSnapshot)
     
        If rs.EOF And rs.BOF Then
            XRECHERCHEV = "no match"
        Else
            XRECHERCHEV = rs.Fields(0)
        End If
        Set rs = Nothing
        Set db = Nothing
    End If
     
    End Function
    Quelqu'un aurait-il une idée ?

    Merci d'avance,
    Jonathan

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Et quand tu met un point d'arret, rs.Fields(0) ou ta formule retourne bien un nombre différent de 0 ?
    Jérôme

Discussions similaires

  1. [XL-2000] Fonction RECHERCHEV renvoie une mauvaise valeur
    Par kstorfou dans le forum Excel
    Réponses: 3
    Dernier message: 21/12/2009, 09h30
  2. [AC-2003] Requete qui renvoie 0 au lieu de NUll
    Par oxino dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/12/2009, 12h26
  3. isNull renvoie "false" au lieu de "0"
    Par talapoga dans le forum Général Dotnet
    Réponses: 17
    Dernier message: 09/03/2009, 12h20
  4. Réponses: 2
    Dernier message: 10/10/2008, 16h56
  5. COUNT qui renvoie null au lieu de 0
    Par gomodo dans le forum Requêtes
    Réponses: 4
    Dernier message: 10/02/2008, 14h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo