Vlookup et '1004'

Fermé
caro - 3 août 2010 à 15:12
m@rina Messages postés 21297 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 janvier 2025 - 3 août 2010 à 19:17
Bonjour,

Je suis débutant sur vba, et je bloque depuis des jours sur un bout de code faisant appel à la fonction Vlookup.
J'ai 3 bases de données correspondant à chacune un onglet. Les 3 bases renseignent sur les même produits ISIN.
Je souhaite récupérer les caractéristiques d'un ISIN sur les 3 bases. Mais le Vlookup ne marche pas pr le dernier onglet... Ci -dessous le bout de code. Si qqn avait une idée ça m'aiderait bcp. Merci par avance. Caroline

Sub Taux

Dim TAUX_TEST As Long
Dim TAUX_PRD As Long
Dim TAUX_BBG As Long
Dim TAUX_BBG_PCT As Long
Dim ISIN As String

Lettre = InputBox("lettre de la colonne")
j = Range(Lettre & "1").Column

For i = 2 To Worksheets("Synthese").Cells(2, 1).End(xlDown).Row

ISIN = Worksheets("Synthese").Cells(i, 1).Value


With Sheets("CALYPSO PRD").Activate
TAUX_PRD = WorksheetFunction.VLookup(ISIN, Worksheets("CALYPSO PRD").Range(Cells(1, 1), Cells(Cells(1, 1).End(xlDown).Row, Cells(1, 1).End(xlToRight).Column)), j, False)
End With
Worksheets("BBG").Cells(i, 38).Value = TAUX_PRD


With Sheets("CALYPSO TEST").Activate
TAUX_TEST = WorksheetFunction.VLookup(ISIN, Worksheets("CALYPSO TEST").Range(Cells(1, 1), Cells(Cells(1, 1).End(xlDown).Row, Cells(1, 1).End(xlToRight).Column)), j, False)
End With
Worksheets("BBG").Cells(i, 39).Value = TAUX_TEST

With Sheets("BBG").Activate
TAUX_BBG = WorksheetFunction.VLookup(ISIN, Worksheets("BBG").Range(Cells(1, 1), Cells(Cells(1, 1).End(xlDown).Row, Cells(1, 1).End(xlToRight).Column)), j, False)
TAUX_BBG_PCT = TAUX_BBG / 100
End With
Worksheets("BBG").Cells(i, 40).Value = TAUX_BBG_PCT

Next i

End Sub

1 réponse

m@rina Messages postés 21297 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 janvier 2025 11 383
3 août 2010 à 19:17
Bonjour,

Il faudrait voir ton classeur...

Déjà, je ne comprends pas tes With et End With qui ne servent à rien...

De plus, je pense qu'il y a sûrement mieux à faire que d'utiliser une WorkSheetFunction.

m@rina
0