XL 2016 WorksheetFunction.VLookup

Faya19

XLDnaute Nouveau
Bonjour,

Je suis entrain de faire un fichier excel pour gestion de stock. J'ai trouvé un petit tuto sur internet, dont, j'ai besoin de modifier pour que cela convienne davantage à mon cahier des charges.

Lors d'un formulaire popup, pour faire un bon de commande, j'essaye de réccupérer les informations (référence, et prix unitaire) de mon tableau d'articles produit qui se trouve sur la page 2, en s'appuyant sur un box déroulante (désignation de produit). J'ai une erreur 1004 qui s'affiche. le débutcode est le suivant:

Option Explicit
Public memoire As Integer

Private Sub CommandButton1_Click()
Dim part_reference As Byte
Dim part_prix As Currency

part_reference = WorksheetFunction.VLookup(Me.Cbx_designation, Sheets(2).Range("b:j"), 1, False)
part_prix = WorksheetFunction.VLookup(Me.Cbx_designation, Sheets(2).Range("b:j"), 5, False)


With Me.List_order
.AddItem
.List(memoire, 0) = part_reference 'référence produtà importer de la page 2
.List(memoire, 1) = Me.Cbx_designation 'la désignation produit à commander
.List(memoire, 2) = CCur(part_prix) 'le prix à importer de la page 2
.List(memoire, 3) = Me.Text_nombre 'le nombre du produit x à commander


End With
memoire = memoire + 1
End Sub

L'erreur 1004 est pour la fonction worksheetfunction part_reference et part prix. ces lignes s'affiche en jaune. Mon tableau cible comporte bien les informations.
Je coince, si quelqu'un a une idée pour m'aider, ce serait bien gentil, car je suis vraiment novice.

Merci par avance

Cordialement.

Florian.
 
Dernière édition:

Faya19

XLDnaute Nouveau
Bonjour Faya,
Vous êtes sur(e) de vos typages ? part_reference sur 8 bits et part_prix avec 4 chiffres après la virgule ?
Sinon, pour essai
VB:
Dim part_reference    ' As Byte
Dim part_prix         ' As Currency
Comment se comporte la macro ?
Bonjour Sylvano,
Merci pour votre réponse. Alors non, je ne suis pas sûr, vraiment novice. Au début j'avais mis la part_reference en variant.
J'ai essayé comme vous me l'avez indiqué, d'enlever mes typages. J'ai toujours une erreur 1004 sur mes "worksheetfunction".
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Ca avance péniblement,
Si je met en nom d'article : Art_0007 ça marche. Mais sqd ne marche pas. On pourrait croire qu'il cherche dans la colonne 1 et non 2 comme demandé.
Une idée ?

1575480864266.png
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Oui mais si vous mettez ces formules, ça marche.
Ya un truc qui m'échappe !:(
VB:
part_reference = Application.WorksheetFunction.VLookup(Me.Cbx_designation, Sheets("Article").Range("C6:J1000"), 2, False)
part_prix = Application.WorksheetFunction.VLookup(Me.Cbx_designation, Sheets(2).Range("C6:J1000"), 5, False)
Il faut partir de C6 à Jxxx !
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai jeté un oeil à l'aide RechercheV :
  1. La plage dans laquelle se trouve la valeur recherchée. N’oubliez pas que la valeur recherchée doit toujours apparaître dans la première colonne de la plage pour que RECHERCHEV fonctionne correctement. Par exemple, si la valeur recherchée est dans la cellule C2, votre plage doit commencer par C.
donc pour votre cas c'est bien la colonne C.

( Pour l'aide dans XL vous taper =RECHERCHEV("Essai";Tableau5[[Désignation]:[description]];2) puis F1 )
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa