import données vide<>0

seb33

XLDnaute Junior
bonjour à tous

lorsque j'importe d'une base access vers excel, les champs vides deviennent automatiquement des 0 alors que dans la DB elle même, les champs vide et les champs avec un 0 sont bien différents.

y a t il un moyen, lors de l'importation d'une table, de faire faire le distingo à excel entre les champs vides et les champs nuls.

voici mon code de base pour l'un des tables:
Sub Import_calcul()

Dim conn As ADODB.Connection
Dim req_divers As ADODB.Recordset
Dim Fichier As String, requete_name As String

Fichier = "c:\DBmodule.accdb"
requete_name = "Query_projet_calcul"

Sheets("Calcul").Range("A133:V5001").ClearContents

Set conn = New ADODB.Connection
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Fichier & ";"
Set req_divers = New ADODB.Recordset

With req_divers
.ActiveConnection = conn
.Open "SELECT * FROM " & requete_name, , adOpenStatic, adLockOptimistic, adCmdText
End With

Sheets("calcul").Range("A133").CopyFromRecordset req_divers

req_divers.Close
Set req_divers = Nothing
conn.Close
Set conn = Nothing

End Sub
merci
seb
 

tototiti2008

XLDnaute Barbatruc
Re : import données vide<>0

Re,

essaye en remplaçant

Code:
Sheets("calcul").Range("A133").CopyFromRecordset req_divers

par

Code:
nbVal = req_divers.RecordCount
If (nbVal <> 0) Then
    For i = 1 To nbVal
        For j = 1 To req_divers.Fields.Count
            ActiveSheet.Range("A133").Offset(i - 1, j - 1).Value = req_divers.Fields(j)
        Next j
        req_divers.MoveNext 'suivant
    Next i
End If
 

seb33

XLDnaute Junior
Re : import données vide<>0

salut

merci pour ton aide. en fait j'avais un bug: pour définir chaque projet, je récupère les infos case pas case avec une fonction recherchev.

n'ayant pas mis de condition, elle me mettait une valeur par défaut = 0 si la recherchev correspondait à une valeur "".

il faut que je me retape toute les cellules pour rajouter la condition Grrrr.

merci encore
seb
 

Discussions similaires

Statistiques des forums

Discussions
312 377
Messages
2 087 745
Membres
103 658
dernier inscrit
Laurent2017