Je débute en VBA et je galère avec le code ci-dessous.

Le message d'erreur :
"Variable objet ou variable de bloc With non définie" (erreur excécution 91)

Il s'arrête sur le passage en gras.

C'est sûrement bête comme chou mais j'avoue que je commence à faiblir à force d'avoir toujours des beugs.. Pouvez vous jeter un d'oeil sur le code et me dire ce qui cloche? Merci. SL

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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Sub majmp()
    Dim cnx As ADODB.Connection
    Dim rsData As ADODB.Recordset
    Dim szConnect As String
    Dim szSQL As String
    Dim PathMyApplication As String
    Dim un_champ As ADODB.Field
    Dim intNoCol As Integer
    Dim intNoLigne As Integer
    Dim i1 As String
    Dim i2 As String
    Dim codeprojet As ADODB.Field
    Dim iL As Integer
    
    'déclaration d'un objet connection
    Set rsData = New ADODB.Recordset
    
    'instanciation de l'object cnaccess
    Set cnx = New ADODB.Connection
    
    'valorisation de la propriété connectionstring
    PathMyApplication = "G:\Gestion" & "\"
    ' Créer la chaine de connexion
     szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source= " & PathMyApplication & "SIAL.mdb;"
    
   'garniture du rs 
    rsData.Open "MajorProjectsLV", szConnect, adOpenDynamic, adLockOptimistic, adCmdStoredProc

     'garniture des données

 i2 = 1
rsData.MoveFirst
codeprojet = rsData.Fields("Code project")

Do While Not rsData.EOF
For Each codeprojet In rsData.Fields
If codeprojet = Worksheets("TEST2").Cells(i2, 1).Value Then
Worksheets("TEST2").Cells(i2, 2).Value = rsData.Fields("code Project")
Worksheets("TEST2").Cells(i2, 3).Value = rsData.Fields("last gate")

Else
iL = Cells(65535, 1).End(xlUp).Offset(1).Row
Worksheets("TEST2").Cells(iL, 1).Value = rsData.Fields("code projet").Value

i2 = i2 + 1
End If
Next codeprojet

rsData.MoveNext
Loop

          
    'ouverture de la connexion avec la base access
    
    MsgBox "Les données ont été mises à jour selon la requête Access..."
        
End Sub