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
| Sub test()
Dim Plage As Range, K As Range, Ligne As Long, Col As Integer 'Définition de la plage de cellule
' j'ouvre mon classeur 2
Workbooks.Open ("D:\Documents and Settings\zsdesmot\Bureau\Ramasse des vins\Avril 2012.xlsm") 'Ouverture du second classeur
With Sheets("lori") 'Placement dans la feuille des données requises
Set Plage = .Range(.[K2], .Cells(.Rows.Count, 11).End(xlUp)) 'Ouverture de la plage allant de K2 à la dernière cellule de la colonne K de la feuille'
End With
' test = la feuille de mon classeur 1 ou les données vont être copiées
With Sheets("test") 'Placement dans la feuille du second classeur ou seront copié les données For Each K In Plage 'Condition : Pour chaque cellule de la colonne K de la feuille lori...
If K.Value <> "" Then
Ligne = Application.Match(K.Value, .[B:B], 0) 'Match est l'équivalent de la fonction equiv d'excel '
Else
End If
Col = Application.Match(K.Offset(, -7).Value, .Rows(3), 0) 'On vient chercher 7 colonnes à gauche de la colonne K, la référence transporteur
.Cells(Ligne, Col).Value = .Cells(Ligne, Col).Value + K.Offset(, 4).Value 'On colle l'ensemble des données cherchées ( ligne & col )dans la feuille Test
Next K
End With
End Sub |
Partager