code dans vb pour récupération d'une valeur dans excel
1 réponse
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)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <PHIL@discussions.microsoft.com> a écrit dans le message news:
0BDF1297-FCB2-417D-9DFD-851B98F3D3E0@microsoft.com...
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)
'-------------- 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)