copie de données entre 2 fichiers excel
Bonjour à tous,
je suis confronté à un petit soucis sous VBA, par manque d'expérience je n'arrive pas à trouvé mon erreur. L'idée de ma macro et de copier les données d'un fichier excel dans un autre fichier, il s'agit d'actualiser les données dans les bonnes lignes. Apparement le soucis se situe au niveau du count.
Je vous remercie pour l'aide que vous pourrez m'apporter.
(Le code pourrait très certainement être allégé, mais suite aux bug j'ai préféré décomposer au maximum les différentes étapes)
Code:
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
| Option Base 1
Dim fichier As Workbook
Dim feuil2 As Worksheet
Dim temp As Workbook
Dim feuil As Worksheet
Dim i As Integer
Dim j As Integer
Dim c1 As Variant
Dim c2 As Variant
Dim maplage As Range
Sub Actualisation()
Workbooks("MAJ PFM.xls").Activate
Set temp = Workbooks("MAJ PFM.xls")
temp.Worksheets("Feuil1").Activate
Set feuil = temp.Worksheets("Feuil1")
Windows("portmodel CT2.xls").Activate
Set fichier = Workbooks("portmodel CT2.xls")
fichier.Worksheets("Feuil2").Activate
Set feuil2 = fichier.Worksheets("Feuil2")
Set maplage = Range(feuil.Cells(3, 2), feuil.Cells(3, 2).End(xlDown))
Set c1 = maplage.Count
Set maplage = Range(feuil2.Cells(j, 1), feuil2.Cells(j, 1).End(xlDown))
Set c2 = maplage.Count
MsgBox c1
MsgBox c2
For i = 3 To c1 Step 1
For j = 2 To c2 Step 1
If feuil.Cells(i, 2).Value = feuil2.Cells(j, 1).Value Then
feuil2.Cells(j, 3) = feuil.Cells(i, 4)
feuil2.Cells(j, 3).Interior.Color = vbRed
feuil.Cells(i, 4).Interior.Color = vbRed
End If
Next j
Next i
End Sub |