Bonjour,
J'ai écrit une fonction qui copie des données d'une feuille à une autre. Dans la première feuille j'ai 3 colonnes de 3 règles différentes (Completness, Accuracy, Validity) mais dans la deuxième feuille je veux collecter ces règles dans une seule colonne et mettre le type de chaque règle devant (voir photo, la feuille SOURCE c'est ce que j'ai et la feuille COPY c'est ce que je veux avoir)
J'ai écrit une fonction qui copie des données d'une feuille à une autre. Dans la première feuille j'ai 3 colonnes de 3 règles différentes (Completness, Accuracy, Validity) mais dans la deuxième feuille je veux collecter ces règles dans une seule colonne et mettre le type de chaque règle devant (voir photo, la feuille SOURCE c'est ce que j'ai et la feuille COPY c'est ce que je veux avoir)
VB:
Function columnLookup(Name As String, Line As Range) As Integer
Dim i As Integer
Dim Cell As Range
i = 0
For Each Cell In Line
If Cell.Value = Name Then
i = Cell.Column
End If
Next Cell
columnLookup = i
End Function
Sub CopyfromSource()
Dim k As Variant
Dim localworksheet, globalWorksheet As String
Dim currentLine, currentLine1 As Integer
Dim classeur As Workbook
Dim nameFile As String
Dim headerSource As Range
Dim headerCopy As Range
Dim attributSource, attributCopy As Integer
globalWorksheet = "Source"
localworksheet = "Copy"
Worksheets(globalWorksheet).Activate
Set headerSource = Worksheets(globalWorksheet).Range("A1", Worksheets(globalWorksheet).Range("A1").End(xlToRight))
Set headerCopy = Worksheets(localworksheet).Range("A1", Worksheets(localworksheet).Range("A1").End(xlToRight))
attributSource = columnLookup("Attribute", headerSource)
attributCopy = columnLookup("Attribute", headerCopy)
'Copy
currentLine1 = 2
For k = 2 To 10
Worksheets(localworksheet).Cells(currentLine1, attributCopy).Value = Worksheets(globalWorksheet).Cells(k, attributSource).Value
currentLine1 = currentLine1 + 1
Next k
Worksheets(localworksheet).Activate
ActiveSheet.Copy
End Sub