cs_nitho
Messages postés130Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention 8 décembre 2015
-
29 nov. 2009 à 22:02
cs_nitho
Messages postés130Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention 8 décembre 2015
-
30 nov. 2009 à 11:56
Bonjour à tous, c'est encore moi. je veux lire une cellule d'un fichier Excel existant sans l'ouvrir. J'utilise donc ADO.
voici mon code:
Private Sub Form_Load()
Dim path As String
Dim cnn As Object
Dim rst As Object
Set cnn = CreateObject("ADODB.Connection")
path = "C:\truc.xls"
'cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & path & _
" Extended Properties=""Excel 11.0;HDR=NO;IMEX=1"""
cnn.Open "Driver={Microsoft Excel Driver (*.xls)};DriverId=790;Dbq=" & path
Set rst = CreateObject("ADODB.Recordset")
'rst.CursorLocation = adUseClient
'rst.CursorType = adUseStatic
'rst.LockType = adLockReadOnly
Set rst = cnn.Execute("Select * from [Actua$C4:C5]")
MsgBox rst.GetString
rst.Close
cnn.Close
Set cnn = Nothing
Set rst = Nothing
End Sub
En bleu des bouts de codes qui me généraient des erreurs. Mon problème est que sur l'exemple ci dessus je dois écrire C4:C5 pour avoir la valeur de la cellule C5. ce qui est très pénible si ont veut utiliser ce code comme fonction car il faudra à chaque fois passer 2 adresses de cellules plutôt qu'une. j'ai essayé C5:C5 mais une erreur disant "BOF ou EOF true ..." Ce qui a du sens. Si quelqu'un peu m'aider à n'utiliser que l'adresse de la cellule qui m'intéresse je serais ravi .
Je ne demande pas de m'écrire un truc du genre "C" & i &":C" & i+1 Je cherche une vrai solution.
Je compte sur votre aide.
Merci d'avance.
Function GetCellValue(ByVal sXlsPath As String, ByVal sSheetName As String, ByVal sCell As String) As Variant
' sCell = SSN (ABC...NUMERO)
Dim xls As New Class1
xls.DBConnect sXlsPath, False
xls.RSExecute "SELECT * FROM [" & sSheetName & "$" & sCell & ":" & sCell & "];"
GetCellValue = xls.RS.Fields(0).Value
Set xls = Nothing
End Function
cs_nitho
Messages postés130Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention 8 décembre 2015 30 nov. 2009 à 10:54
Pour les références c'est fait mais pour la classe...J'avais collé dans la fenêtre de code bref.
Le seul pb est que lorsque l'on met une adresse de cellule vide, une erreur survient. "Erreur d'exécution 94: Utilisation non autorisé de Null" Je sais que c'est une erreur récupérable mais si vous avez une idée...