RecherchV en VBA

bonjour

j'ai cette formule dans un classeur =RECHERCHEV(D2;'[running liste crystal.xls]Sheet1'!$E$2:$J$500;6;FAUX), mais je ne sais pas renseigner le classeur "Workbooks" dans ma macro

( pour info mon classeur "running liste crystal" est ouvert automatiquement) au début de ma macro

With Range("f2:f2800")

.Formula = "=(VLOOKUP($d2,??????????,sheet1!$e2$:$j$500,6,false))"

.Value = .Value

Par avance merci de votre aide

philippe

Salut Philippe,

Normalement le passage ci-dessous devrait faire l'affaire. Si ça ne joue pas, merci de fournir ton fichier.

Dim i As Integer
For i = 2 To 800
    Range("F" & i).FormulaR1C1 = "=VLOOKUP(RC[-2],'[running liste crystal.xls]Sheet1'!R2C5:R500C10,6,FALSE)"
Next i

En enregistrant une macro alors que tu inscris cette formule dans une cellule, tu aurais pu voir comment se construit cette instruction

A la place d'inscrire une formule dans tes cellules, tu pourrais également effectuer la recherche dans le code directement et n'inscrire que le résultat.

Cordialement.

bonjour Yvouille

ok pour la macro

et merci

Philippe

Re,.

Je n’ai pas très bien compris – lorsque tu dis : ‘Ok pour la macro’ – si tu veux dire que tu es content de la macro reçue ou si tu désires recevoir l’autre macro mentionnée ?

Alors, à tout hasard, voici un code qui effectue la même recherche mais qui place les valeurs trouvées dans les cellules à la place des formules. Avec les formules, si une valeur n’est pas trouvée dans le tableau de base, tu as un #N/B qui s’affiche. Avec cette nouvelle macro, ça reste simplement vide.

Option Explicit
Sub Recherche()
Dim i As Integer
Application.ScreenUpdating = False
For i = 2 To 800
    On Error Resume Next
    Range("F" & i) = Application.WorksheetFunction.VLookup(Range("D" & i), Workbooks("running liste crystal.xls").Sheets("Sheet1").Range("E2:J500"), 6, False)
Next i
End Sub

Amicalement.

Rechercher des sujets similaires à "recherchv vba"