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
Partager