Je dois déplacer des données d'Excel 1 vers un autre excel basé sur le format de numérotation. Pour un exemple que j'ai échantillons test1 excellent comme ci-dessous:Excel VBA - Déplacer des données basées sur la numérotation
test1.xlsx
EName| Sal | ID | Tel | Add | Depart | Pos |
------------------------------------------------------------
John | 10000 | 123| NA | NY | Finance | Manager |
------------------------------------------------------------
1 | 5 | 2 | | | 3 | 4 |
colonne disposés en nombre. Je dois déplacer mes données vers un autre Excel dans ce cas test2 et coller au format de numérotation.
test.xlsx
Name | ID | Department | Level |Position | Salary |
1 | 2 | 3 | | 4 | 5 |
John | 123| Fiinanace | NA |Manager | 10000 |
valeur pour chaque colonne identifiée par les numéros. Comment puis-je y parvenir. Tous les conseils/références sont très appréciés. Merci
Sub startGenerateExcel()
Path1 = Range("F4").Value
Path2 = Range("F6").Value
Dim wbSource As Workbook
Dim wbDest As Workbook
Dim rngSource As Range
Dim rngDest As Range
Dim colNum As Integer
Dim colDest As Integer
Dim cl As Range
Set wbSource = Workbooks(Path1)
Set wbDest = Workbooks(Path2)
Set rngSource = wbSource.Sheets("Sheet1").Range("A1:G3") 'Modify as needed
Set rngDest = wbDest.Sheets("Sheet1").Range("A1:F3") 'Modify as needed
For Each cl In rngSource.Rows(2)
colNum = cl.Offset(1, 0).Value
colDest = Application.Match(colNum, rngDest.Rows(3), False)
rngDest.Cells(2, colDest).Value = cl.Value
Next
End Sub
Pourquoi ne pas simplement utiliser des formules dans la nouvelle feuille qui renvoient à la feuille d'origine? Les formules de la colonne 1 de la nouvelle feuille renvoient à la colonne de nom dans l'ancienne feuille, celles de la colonne 2 à la colonne id, etc. Après avoir copié les formules au bas de vos données, il vous suffit de copier le bloc de formule et collez-le en tant que valeurs. Si pour une raison quelconque vous devez le faire en VBA, pensez "tableaux". – chuff
@chuff Je ne suis pas autorisé à modifier le fichier de sortie. Le fichier de sortie ne doit contenir aucune formule ou macros. Je crée un autre fichier Excel où l'utilisateur doit fournir le chemin pour le fichier d'entrée. –