Bonsoir,
J'ai besoin de VLOOKUP dans une macro.
J'ai regardé sur le forum et je me suis inspiré d'une solution proposée,à l'époque, par Ousk'l'nor.
Je me suis attaché, du moins je le pense, à respecter ce code. Mais, au moment ou le code execute la ligne d'appel de la fonction, il me jette avec le message d'erreur 424 (Objet requis).
Je dois dire que je comprend pas pourquoi.
Voici mon morceau de code et merci à ceux qui pourront m'aider.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61 Public oWshMES As Object, oWshAVL As Object Public MaPlage As Range, Ligne As Range, FichierTeste As Range, PrecVal As Variant Sub essai() 'supprimer la mobilité de l ecran Application.ScreenUpdating = False vChemin = ThisWorkbook.Path + "\" 'chemin des fichiers vFic(0) = vChemin + "mesg132.xlsx" 'fichiers à ouvrir Workbooks.Open FileName:=vFic(0) 'ouverture fichier MES Set oWshMES = ActiveWorkbook.Sheets("feuil1") 'active la variable vDerligneMES = Cells(1000000, 1).End(xlUp).Row 'comptage nbre de ligne 'filtrer la colonne 12 oWshMES.Range("$A$1:$S$" & vDerligneMES).AutoFilter Field:=12, Criteria1:="P" '" & codeClient If oWshMES.AutoFilter.Range.Columns(12).SpecialCells(xlCellTypeVisible).Cells.Count = 1 Then For I = 1 To vNbCentre vNbMES(I) = 0 Next Else Set MaPlage = oWshMES.UsedRange.SpecialCells(xlCellTypeVisible) 'je compare les cellules de la colonne A X = 1 For Each Ligne In MaPlage.Rows Retour_Boucle3: PrecVal = Ligne.Cells(8).Value 'ligne de visualisation pour debogage If Ligne.Cells(1).Value = "CENTRE" Then GoTo Suite3 'cumul total de MES If Ligne.Cells(1).Value = vCentre(X) Then vNbMES(X) = vNbMES(X) + 1 'Recherche si PCE déjà reperé If RechercheAV([ligne.cells(8).value], Workbooks("toto.xlsm").Worksheets("Prochaine_Liste_RROBs").Range("c:g"), 2) = False Then vNbRepereOK(X) = vNbRepereOK(X) + 1 End If 'changement de code centre If Ligne.Cells(1).Value <> vCentre(X) Then X = X + 1: GoTo Retour_Boucle3 Suite3: Next End If End Sub '********************************************************************************************************************** '********************************************************************************************************************** ' FONCTION de RECHERCHE '********************************************************************************************************************** '********************************************************************************************************************** Public Function RechercheAV(Parm1 As Range, Parm2 As Range, Parm3 As Integer) As Boolean Dim nada As Variant On Error GoTo Err_Test nada = Application.WorksheetFunction.VLookup(Parm1, Parm2, Parm3, False) RechercheAV = True Bye: Exit Function Err_Test: RechercheAV = False Resume Bye End Function '********************************************************************************************************************** '********************************************************************************************************************** ' '********************************************************************************************************************** '**********************************************************************************************************************







Répondre avec citation








Partager