1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| Sub Copie()
Dim C As Range, Plage As Range, Ligne As Long, Sh As Worksheet, Col As Variant
'Donc on déclare les variable C en tant que plage de cellule, le compteur ligne, nos onglet et nos sélection pour copier les valeurs
Ligne = 1
With Sheets("Temp")
'exécute la série d'instruction plusieurs fois!
Set Plage = .Range("A2", .Cells(.Rows.Count, 1).End(xlUp))
'Sélectionne la page de cellule jusqu'à une cellule vide (compte le nombre de cellule)
End With
Set Sh = Sheets("Temp") 'va dans l'onglet "temp"
With Sheets("MesValeurs")
For Each C In Plage 'pour chaque cellule dans la plage de cellule
Ligne = Ligne + 1 'compteur
For i = 1 To .Cells(1, .Columns.Count).End(xlToLeft).Column 'compte le nombre de colonne?
Col = Application.Match(Sh.Cells(1, i), .[1:1], 0) 'Colle les valeurs correspondantes
If IsNumeric(Col) Then 'si l'intitulé de la colonne correspond?
.Cells(Ligne, Col) = C.Offset(, i - 1) 'que signifie Offset?
End If
Next i
Next C
End With
End Sub
'merci de votre aide! |
Partager