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
| Sub remplacerInteret()
'Remplacer les valeurs de la première ligne de la feuille interet
'Déclarer les variables
Dim Feuille1 As Worksheet 'La feuille où se trouvent les valeurs à remplacer
Dim Feuille2 As Worksheet 'La feuille où se trouvent les valeurs de remplacement
Dim Colonne1 As Long 'La colonne où se trouvent les valeurs à remplacer
Dim Colonne2 As Long 'La colonne où se trouvent les valeurs de remplacement
Dim DerniereLigne1 As Long 'La dernière ligne non vide de la colonne 1
Dim DerniereLigne2 As Long 'La dernière ligne non vide de la colonne 2
Dim i As Long 'Un compteur pour parcourir les colonnes
Dim Valeur1 As Variant 'La valeur à remplacer
Dim Valeur2 As Variant 'La valeur de remplacement
'Affecter les variables
Set Feuille1 = Worksheets("interet") 'La feuille où se trouvent les valeurs à remplacer
Set Feuille2 = Worksheets("DataInteret") 'La feuille où se trouvent les valeurs de remplacement
Colonne1 = 1 'La première colonne de la feuille interet
Colonne2 = 1 'La première colonne de la feuille DataInteret
DerniereLigne1 = Feuille1.Cells(1, Columns.Count).End(xlToLeft).Column 'Trouver la dernière colonne non vide de la ligne 1
DerniereLigne2 = Feuille2.Cells(Rows.Count, Colonne2).End(xlUp).Row 'Trouver la dernière ligne non vide de la colonne 2
'Déclarer la plage
Dim plage As Range: Set plage = Range(Cells(1, Colonne1), Cells(DerniereLigne2, Colonne2))
'Parcourir les colonnes de la ligne 1
For i = Colonne1 To DerniereLigne1
'Récupérer la valeur à remplacer
Valeur1 = Feuille1.Cells(1, i).Value
'Rechercher la valeur correspondante dans la colonne 2
Valeur2 = Application.VLookup(Valeur1, Feuille2.Range(Cells(1, Colonne1), Cells(DerniereLigne2, Colonne2)), 2, False)
'Si la valeur est trouvée, la remplacer
If Not IsError(Valeur2) Then
Feuille1.Cells(1, i).Value = Valeur2
End If
Next i
End Sub |
Partager