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