Bonjour,
Voila, j'ai un souci et suis certain que vous allez réussir à m'aider.
Je suis entrain de créer une macro plutôt lourde pour faciliter la saisi des commandes en y incluant facturation et reporting.
Je travaille dessus depuis presque 2 mois et je commence a en voir le bout.
Cependant je sèche sur une fonction qu'habituellement je maitrise :
Depuis un onglet intitulé "FACTURATION_ASC", je récupère les champs renseignés par l'utilisateur pour les enregistrer dans un autre onglet intitulé "LISTING_FACT_ASC"
(J'ai une bonne trentaine de variable donc j'ai simplifié le code ci-dessous pour pas qu'il soit trop long dans ce post)
Dans le code ci-dessous, je cherche a déterminer "CODENOP" à partir de la variable "ASC1" par une recherche verticale.
La donnée que je recherche se trouvant dans l'onglet "LISTING_ASC"
Tous le code marche impeccablement bien sauf en ajoutant cette fonction VLookup.
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 Sub SAVE_FACT_ASC_Clic() ' DEFINITION DES VARIABLES LOCALES Dim ASC1 As String Dim CODENOP As String Dim CONTROL As Integer 'MISE EN VALEURS DES VARIABLES LOCALES ASC1 = Range("B21").Value ' VERIFICATION DES CHAMPS DU FORMULAIRE If ASC1 = "" Then CONTROL = CONTROL + 1 End If ' CONCLUSION DU CONTROL If CONTROL > 0 Then MsgBox ("Tous les champs obligatoires n'ont pas été remplis, veuillez vérifier") Exit Sub End If 'DETERMINATION DU CODE NOP Sheets("LISTING_ASC").Visible = True Sheets("LISTING_ASC").Select CODENOP = WorksheetFunction.VLookup(ASC1, Sheets("LISTING_ASC").Range("$A$2:$DK$200"), 115, False) ' Puis la suite du code pour enregistrer "ASC" et "CODENOP" dans l'onglet "LISTING_FACT_ASC"
Lorsque j’exécute cette macro en mode pas à pas détaillé (F8), la variable "ASC1" est bien renseignée.
Mais j'obtiens invariablement la même erreur: "Impossible de lire la propriété VLookup de la classe WorksheetFunction."
Or si j'effectue une recherchev directement sur la classeur et avec les même paramètre (ie: =RECHERCHEV(FACTURATION_ASC!B21;LISTING_ASC!$A$2:$DK$27;115;FAUX)) bah j'obtiens bien le résultat que je recherche soit "M64731".
Je ne comprends pas pourquoi j'ai cette erreur.
Si vous aviez une idée....
Merci d'avance.
Partager