OVH Cloud OVH Cloud

code dans vb pour récupération d'une valeur dans excel

1 réponse
Avatar
PHIL
Bonsoir,

Mon fichier excel n'est pas ouvert, et avant de l'ouvrir,je voudrai
controler la valeur que j'ai dans la cellule A1,quand l'utilisateur choisi le
fichier via un form .
dans A1 j'ai du texte.
mais je veux juste controler le nombre que j'ai dans le texte via cette
fonction: =STXT(A1;8;3)

comment s'ecrirai mon code vb du coup?

je travaille en visual basiic 6.
merci

1 réponse

Avatar
Hervé
Salut Phil,
Regarde si cela te convient :

'--------------
Private Sub ConnectCLasseur(ConnectCL As Object, _
Fichier As String, _
Optional Rs)

Set ConnectCL = CreateObject("ADODB.Connection")
If Not IsMissing(Rs) Then
Set Rs = CreateObject("ADODB.Recordset")
End If

ConnectCL.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";" & _
"Extended Properties=""Excel 8.0;HDR=NO;IMEX= 2;"""
End Sub

Sub RecupValeur()
Dim ConnectCL As Object
Dim Rs As Object
Dim Chemin As String
Dim Classeur As String
Dim NomFeuille As String
Dim Plage As String
Dim Valeur

Chemin = "D:"
Classeur = "Classeur1.xls"
NomFeuille = "Feuil1"
'même pour une seule cellule le formatage
'est le suivant :
Plage = "A1:A1"
'contôle si existe
If Dir(Chemin & Classeur) = "" Then Exit Sub
'connexion
ConnectCLasseur ConnectCL, Chemin & Classeur, Rs
'récupère la valeur
With Rs
.CursorType = 1
.LockType = 3
.Open "SELECT * FROM `" & _
NomFeuille & "$" & _
Plage & "` ", _
ConnectCL
Valeur = .Fields(0).Value
End With

ConnectCL.Close

'Retourne les 3 lettres voulues
MsgBox Mid(Valeur, 8, 3)

Set Rs = Nothing
Set ConnectCL = Nothing
End Sub
'---------------

Hervé.

"PHIL" a écrit dans le message news:

Bonsoir,

Mon fichier excel n'est pas ouvert, et avant de l'ouvrir,je voudrai
controler la valeur que j'ai dans la cellule A1,quand l'utilisateur choisi


le
fichier via un form .
dans A1 j'ai du texte.
mais je veux juste controler le nombre que j'ai dans le texte via cette
fonction: =STXT(A1;8;3)

comment s'ecrirai mon code vb du coup?

je travaille en visual basiic 6.
merci