VLookup qui me renvoit le message d'erreur 1004

Bonsoir

Après avoir lu à peu près 16 forums sur la chose, j'ai beau regarder mon code sous tous les angles, le VLookup est pourtant pas sorcier... Toutefois il ne fonctionne pas

Dim GroupeRepere As Integer

Dim Niveau As Integer

y = 2

GroupeRepere = Cells(y, 3).Value

Niveau = Application.WorksheetFunction.VLookup(GroupeRepere, Range("CW2:DG7"), 1, False)

Le range est pourtant sur la même feuille que ce que je travaille et le GroupeRepère a bel et bien trouvé un nombre qui est dans mon tableau du Range("CW2:DG7")... Quand j'amène le curseur sur GroupeRepere, il me donne 501 et c'est la valeur prise dans la cellule (y, 3)... Donc, mon vlookup serait supposé me renvoyer la valeur "5" qui est le chiffre dans la première colonne du tableau qui se trouve à CW2:DG7

Le message d'erreur est :

Erreur d'exécution '1004': Impossible de lire la propriété VLookUp de la classe WoorksheetFunction

Avec-vous des idées?

Bonjour,

A tester.

Cdlt.

Dim GroupeRepere As Integer
Dim y As Integer
Dim Niveau As Variant

    y = 2
    GroupeRepere = Cells(y, 3).Value
    Niveau = Application.WorksheetFunction.VLookup(GroupeRepere, Range("CW2:DG7"), 1, False)
    If Not IsError(Niveau) Then
        MsgBox Niveau
    Else
        MsgBox "nc"
    End If

Pas de différence, j'ai toujours le même message d'erreur

Voici un bout de mon fichier...

J'ai pensé que le problème était que la source des données provenait d'un tableau croisé dynamique, mais même en ne recopiant que les valeurs, j'ai encore le même message d'erreur... Vous pourrez aussi avoir la chance inouïe de le voir vous aussi en cliquant sur le mosus de gros bouton que je viens d'ajouter...

59code1004.xlsm (22.48 Ko)

Bonjour,

tu recherches GroupeRepere (=501) en CW au lieu de CX non ?

Ou bien c'est la valeur de GroupeRepere qui n'est pas correcte.

Et tu ramènes la colonne 1, celle de la clé de recherche. Normal ou pas...

eric

Bonjour

Je souhaite que s'il trouve 501, ou 502 ou ... d'autres numéros sur cette ligne, que le vlookup me renvoie alors la valeur "5", donc le chiffre de la première colonne de ce tableau commençant dans la colonne CW

Bonjour

Vlookup cherche une valeur dans la première colonne d'un tableau et renvoie une valeur à droite

Mais puisque tu as la valeur de GroupeRepere, pourquoi ne pas extraire le 1er chiffre qui correspond au niveau?

Niveau = Left(GroupeRepere, 1) * 1

Cordialement

Excellente idée!!! J'ai cherché comment faire trouver le premier chiffre d'un nombre mais sans succès. Merci Amadeus

Rechercher des sujets similaires à "vlookup qui renvoit message erreur 1004"