Bonjour à toutes et à tous,
Utilisant des fichiers contenant souvent beaucoup d'enregistrements, j'aimerais me former à l'usage des variables tableaux.
Mes tentatives n'ont rien donné et je ne fais que m'embrouiller … 😡
A partir du bout de code joint (fichier fictif et surtout peu volumineux), quelqu'un peut-il transformer ma Sub() en une version passant par un tableau (Lbound/Ubound) ?
Idéalement, le plus simple possible, par exemple sans recours à un scripting dictionary (si possible ?)
et avec des commentaires genre Pour Les Nuls (dont je suis !)
Même si au final l'idée est d'accélerer le traitement, je préfère procéder "pas à pas"
D'avance, un grand merci
Utilisant des fichiers contenant souvent beaucoup d'enregistrements, j'aimerais me former à l'usage des variables tableaux.
Mes tentatives n'ont rien donné et je ne fais que m'embrouiller … 😡
A partir du bout de code joint (fichier fictif et surtout peu volumineux), quelqu'un peut-il transformer ma Sub() en une version passant par un tableau (Lbound/Ubound) ?
Idéalement, le plus simple possible, par exemple sans recours à un scripting dictionary (si possible ?)
et avec des commentaires genre Pour Les Nuls (dont je suis !)
Même si au final l'idée est d'accélerer le traitement, je préfère procéder "pas à pas"
D'avance, un grand merci
Code:
' Objet : coller le libellé de la devise à partir de son code ISO
Sub Trouver_la_devise()
' 1 - on définit le range
Dim DernLignDevise As Long
Dim PaysRange As Range
With Sheets("Devises")
DernLignDevise = .Range("A" & Rows.Count).End(xlUp).Row
Set PaysRange = .Range("A2:C" & DernLignDevise)
End With
' 2 on colle le nom complet de la devise via vlookup
With Sheets("Base")
Dim NomDevise As String
Dim DernLignBase As Long
Dim i As Long
DernLignBase = .Range("A" & Rows.Count).End(xlUp).Row
On Error Resume Next
For i = 2 To DernLignBase
NomDevise = Application.WorksheetFunction.VLookup(.Cells(i, 3), PaysRange, 2, False)
.Cells(i, 4) = NomDevise
Next i
End With
End Sub