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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager