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 41 42 43
| Sub transfert datas()
Dim rack1 As Worksheet
Dim table As Worksheet
Dim PlgSource As Range
Dim PlgDest As Range
Dim Cel As Range
Dim Ligne As Long
'défini les feuilles
Set rack1 = Worksheets("rack1")
Set table = Worksheets("table")
'défini les plages
With rack1
Set PlgSource = .Range(.Cells(25, 5), .Cells(.Rows.Count, 1).End(xlUp))
End With
With table
Set PlgDest = .Range(.Cells(2, 13), .Cells(.Rows.Count, 1).End(xlUp))
End With
'parcour la plage (en colonne A) de la feuille de destination
For Each Cel In PlgDest
'gestion de l'erreur de la valeur non trouvé
On Error Resume Next
Ligne = Application.WorksheetFunction.Match(Cel.Value, PlgSource, 0) + 1 'rajoute 2 car départ de plage en ligne 3 '1 pour moi
'si pas d'erreur, récupère les valeurs en colonnes E:G et les inscrit en colonne AN:AP
If Err.Number = 0 Then
Cel.Offset(, -9).Resize(, 0).Value = rack1.Cells(Ligne, 1).Offset(, 1).Resize(, 0).Value
End If
Next Cel
End Sub |
Partager