Bonjour à tous,

pour mon stage d'IUT en 2eme année, je dois faire quelques manipulations sur une base de données Oracle et lier tout ça à un fichier excel. Jusque là tout aller bien, mais je bloque sur une ligne de code depuis un moment donc j'aimerai un coup de main. Voici mon code:

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
Sub MAJ_vehicul()

'----DECLARTION DES VARIABLES----
Dim Connect As New ADODB.Connection

Dim l As Integer
l = 2


Dim Sql_Immat As String
Dim Result_Immat As ADODB.Recordset


'----CONNEXION A LA BASE DE DONNEES----
Connect.Open (crypté)

''----PARTIE REQUETES----
While Not IsEmpty(Range("B" & l))

'--Immatriculation
Sql_Immat = "SELECT BOX.TXT_USERINFO FROM S03.BOX WHERE BOX.CD_BOX = '" & Range("B" & l).Value & "'"
Set Result_Immat = Connect.Execute(Sql_Immat)
If Result_Immat.Fields(0).Value <> Range("A" & l).Value Then MsgBox "nulle!!"


l = l + 1
Wend

End Sub
---
Lorsque j'ai executé des reqûetes comme celle-ci, tout marchait bien:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
''--Arborescence
'Sql_Arb = "SELECT BOX.TYP_LNKSUBTYPE FROM S03.BOX WHERE BOX.CD_BOX = '" & Range("G" & i).Value & "'"
'Set Result_Arb = Connect.Execute(Sql_Arb)
'If Result_Arb.Fields(0).Value = "0" Then Range("J" & i).Value = "PRODUCTION" Else If Result_Arb.Fields(0).Value = "1" Then Range("J" & i).Value = "TYPE EQUIPEMENT" Else Range("J" & i).Value = "AUTRE"
Donc je ne comprends pas l'erreur de mon code...

Message d'erreur : Erreur d'execution '3021'.
Either BOF or EOF is True, or the current record has been deleted. Request...


Quelqu'un peut m'aider s'il vous plait ?

Merci beaucoup !

Apparemment, ça vient du fait que certaines données dans la base de données sont vides et du coup la recordset est null. Mais comment faire un IF sur "Result_Immat.Fields(0).Value" = null alors... ? j'ai essayé pas mal de truc genre isnull, isempty, len... mais j'ai pas trouvé la bonne formule quelqu'un pourrait m'aider ?

Merci