Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

connexion ADO

1 réponse
Avatar
olivier NICOD
Bonsoir,


j'utilise la fonction ci-dessous pour recueillir une valeur de cellule
dans un classeur fermé.
Le problème est qu'elle ne fonctionne pas sur un classeur protégé par
mot de passe pour la modification
quelle est la syntaxe pour la chaine de connexion strConn quand le
classeur ou la feuille d'un classeur est protégée par un mot de passe ?
Quelqu'un a déjà fait l'essai ou a une autre solution ?

Merci
Olivier



Function DataClasseurFerme(Classeur$, feuille As String, Cell As String)
'renvoie la valeur de la cellule Cell de la feuille Feuille
'du classeur fermé Classeur
Dim RcdSet As Object
Dim strConn As String
Dim strCmd As String
Dim dummyBase As Range
'prépare une "base de données" bidon pour la clause SELECT
'(une entête fictive et une ligne de données)
Set dummyBase = Range(Cell).Resize(2)
'prépare les commandes ADO et SQL
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" &
Classeur & ";" & "Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"";"
strCmd = "SELECT * FROM [" & feuille & "$" & dummyBase.Address(0, 0) & "]"
'crée l'objet Recordset
Set RcdSet = CreateObject("ADODB.Recordset")
'va chercher l'info
RcdSet.Open strCmd, strConn, 0, 1, 1 'adOpenForwardOnly, adLockReadOnly,
adCmdText
'et la renvoie
DataClasseurFerme = Application.Clean(RcdSet(0))
'nettoyage
Set RcdSet = Nothing
End Function

1 réponse

Avatar
ali
C'est impossible d'aprés l'excellente page qui
suit:http//silkroad.developpez.com/ dans le lien lire et écrire dans un
classeur fermé.
Dans mon entreprise j'ai plusieurs classeurs contenant des procédures
d'écriture-lecture dans des classeurs fermés utilisé par plus de 100
personnes chaque Jour.
C'est donc un sujet qui m'interesse beaucoup
A+
"olivier NICOD" a écrit dans le message de
news:45787473$0$5083$
Bonsoir,


j'utilise la fonction ci-dessous pour recueillir une valeur de cellule
dans un classeur fermé.
Le problème est qu'elle ne fonctionne pas sur un classeur protégé par
mot de passe pour la modification
quelle est la syntaxe pour la chaine de connexion strConn quand le
classeur ou la feuille d'un classeur est protégée par un mot de passe ?
Quelqu'un a déjà fait l'essai ou a une autre solution ?

Merci
Olivier



Function DataClasseurFerme(Classeur$, feuille As String, Cell As String)
'renvoie la valeur de la cellule Cell de la feuille Feuille
'du classeur fermé Classeur
Dim RcdSet As Object
Dim strConn As String
Dim strCmd As String
Dim dummyBase As Range
'prépare une "base de données" bidon pour la clause SELECT
'(une entête fictive et une ligne de données)
Set dummyBase = Range(Cell).Resize(2)
'prépare les commandes ADO et SQL
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" &
Classeur & ";" & "Extended Properties=""Excel 8.0;HDR=No;IMEX=1;"";"
strCmd = "SELECT * FROM [" & feuille & "$" & dummyBase.Address(0, 0) & "]"
'crée l'objet Recordset
Set RcdSet = CreateObject("ADODB.Recordset")
'va chercher l'info
RcdSet.Open strCmd, strConn, 0, 1, 1 'adOpenForwardOnly, adLockReadOnly,
adCmdText
'et la renvoie
DataClasseurFerme = Application.Clean(RcdSet(0))
'nettoyage
Set RcdSet = Nothing
End Function