Bonjour, comme j'effectue un traitement sur une BDD de 36700 lignes il faut que je passe à la programmation VBA car excel commence à me ralentir.
Je souhaite effectuer une fonction recherchev simple telle que mon code VBA est le suivant:
1 2 3 4 5
| Sub test()
With Sheets("drives_parsed")
.Range("G5:G1333").Value = WorksheetFunction.VLookup(.Range("D5:D1333").Value, Sheets("COM").Range("B37;B36700"), 2, False)
End With
End Sub |
Néanmoins il y a une erreur que je n'arrive pas à déboguer, avez vous une idée?
Ensuite je souhaite faire une boucle qui me permettrait d'enchainer un traitement tel que:
1 2 3 4 5
| Sub test()
With Sheets("drives_parsed")
.Range("G5:G1333").Value = WorksheetFunction.VLookup(.Range("D5:D1333").Value, Sheets("COM").Range("B37;B36700"), 2, False)
End With
End Sub |
1 2 3 4 5 6 7 8
|
Sub test()
With Sheets("drives_parsed")
.Range("H5:H1333") 'on décalle d'une colonne
.Value = WorksheetFunction.VLookup(.Range("D5:D1333").Value, Sheets("COM").Range("B37;B36700"), 3, False) ''on décalle d'une colonne
End With
End Sub |
1 2 3 4 5 6 7 8 9 10
|
Option explicit
Sub test()
With Sheets("drives_parsed")
.Range("I5:I1333").Value = WorksheetFunction.VLookup(.Range("D5:D1333").Value, Sheets("COM").Range("B37;B36700"), 4, False)
End With
End Sub
'................................ect jusqu'à EP (soit colonne 147) pour la feuille "drive_parsed" et 147 pour le n° de colonne de la fonction .Vlookup pour la feuille ("com") |
Ce qui equivaut en excel à
INDEX(COM!D$37:D$36700;EQUIV($D$5:$D$1333;COM!$B$37:$B$36700;0))))
Voilà je vous remercie par avance pour me donner des pistes.
Jérémy
Partager