Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une série
de fichiers où se trouve un onglet "standardisé", les valeurs de celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la chaîne
correspondant à la formule du lien (lorsque je fais un copier-valeur, je
vois une simple quote de la formule dans la barre de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que la
variable "Code" me permet de rechercher tel ou tel fichier selon ce
dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet &
"'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!" &_
Cellule.Address(, , xlR1C1)
End Function
Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une série
de fichiers où se trouve un onglet "standardisé", les valeurs de celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la chaîne
correspondant à la formule du lien (lorsque je fais un copier-valeur, je
vois une simple quote de la formule dans la barre de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que la
variable "Code" me permet de rechercher tel ou tel fichier selon ce
dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet &
"'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!" &_
Cellule.Address(, , xlR1C1)
End Function
Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une série
de fichiers où se trouve un onglet "standardisé", les valeurs de celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la chaîne
correspondant à la formule du lien (lorsque je fais un copier-valeur, je
vois une simple quote de la formule dans la barre de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que la
variable "Code" me permet de rechercher tel ou tel fichier selon ce
dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet &
"'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!" &_
Cellule.Address(, , xlR1C1)
End Function
Bonsoir,
D'autres approches pour récupérer des valeurs dans un/des fichier(s)
fermé(s) sur cette page :
http://frederic.sigonneau.free.fr/Ado.htm
Robert Dezan a construit un classeur qui illustre les utilisations des
techniques à base d'ADO, dispo sur excelabo (le code est protégé mais le
mot de passe est fourni) :
http://disciplus.simplex.free.fr/classeursxl/rd-lireferme.zip
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une série
de fichiers où se trouve un onglet "standardisé", les valeurs de
celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la chaîne
correspondant à la formule du lien (lorsque je fais un copier-valeur,
je vois une simple quote de la formule dans la barre de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que
la variable "Code" me permet de rechercher tel ou tel fichier selon ce
dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet &
"'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!"
&_ Cellule.Address(, , xlR1C1)
End Function
Bonsoir,
D'autres approches pour récupérer des valeurs dans un/des fichier(s)
fermé(s) sur cette page :
http://frederic.sigonneau.free.fr/Ado.htm
Robert Dezan a construit un classeur qui illustre les utilisations des
techniques à base d'ADO, dispo sur excelabo (le code est protégé mais le
mot de passe est fourni) :
http://disciplus.simplex.free.fr/classeursxl/rd-lireferme.zip
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une série
de fichiers où se trouve un onglet "standardisé", les valeurs de
celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la chaîne
correspondant à la formule du lien (lorsque je fais un copier-valeur,
je vois une simple quote de la formule dans la barre de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que
la variable "Code" me permet de rechercher tel ou tel fichier selon ce
dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet &
"'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!"
&_ Cellule.Address(, , xlR1C1)
End Function
Bonsoir,
D'autres approches pour récupérer des valeurs dans un/des fichier(s)
fermé(s) sur cette page :
http://frederic.sigonneau.free.fr/Ado.htm
Robert Dezan a construit un classeur qui illustre les utilisations des
techniques à base d'ADO, dispo sur excelabo (le code est protégé mais le
mot de passe est fourni) :
http://disciplus.simplex.free.fr/classeursxl/rd-lireferme.zip
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une série
de fichiers où se trouve un onglet "standardisé", les valeurs de
celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la chaîne
correspondant à la formule du lien (lorsque je fais un copier-valeur,
je vois une simple quote de la formule dans la barre de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que
la variable "Code" me permet de rechercher tel ou tel fichier selon ce
dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet &
"'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!"
&_ Cellule.Address(, , xlR1C1)
End Function
Bonsoir,
Et merci Frédéric pour ces autres approches.
En fait la procédure "fcgd-lireferme.xls" fonctionne très bien, mais
j'aurais en fait préférer disposer d'une fonction permettant de créer un
lien à certains endroits précis de la feuille de calcul.
Cordialement
PhilippeBonsoir,
D'autres approches pour récupérer des valeurs dans un/des fichier(s)
fermé(s) sur cette page :
http://frederic.sigonneau.free.fr/Ado.htm
Robert Dezan a construit un classeur qui illustre les utilisations des
techniques à base d'ADO, dispo sur excelabo (le code est protégé mais
le mot de passe est fourni) :
http://disciplus.simplex.free.fr/classeursxl/rd-lireferme.zip
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une
série de fichiers où se trouve un onglet "standardisé", les valeurs
de celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la
chaîne correspondant à la formule du lien (lorsque je fais un
copier-valeur, je vois une simple quote de la formule dans la barre
de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que
la variable "Code" me permet de rechercher tel ou tel fichier selon
ce dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet
& "'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!"
&_ Cellule.Address(, , xlR1C1)
End Function
Bonsoir,
Et merci Frédéric pour ces autres approches.
En fait la procédure "fcgd-lireferme.xls" fonctionne très bien, mais
j'aurais en fait préférer disposer d'une fonction permettant de créer un
lien à certains endroits précis de la feuille de calcul.
Cordialement
Philippe
Bonsoir,
D'autres approches pour récupérer des valeurs dans un/des fichier(s)
fermé(s) sur cette page :
http://frederic.sigonneau.free.fr/Ado.htm
Robert Dezan a construit un classeur qui illustre les utilisations des
techniques à base d'ADO, dispo sur excelabo (le code est protégé mais
le mot de passe est fourni) :
http://disciplus.simplex.free.fr/classeursxl/rd-lireferme.zip
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une
série de fichiers où se trouve un onglet "standardisé", les valeurs
de celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la
chaîne correspondant à la formule du lien (lorsque je fais un
copier-valeur, je vois une simple quote de la formule dans la barre
de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que
la variable "Code" me permet de rechercher tel ou tel fichier selon
ce dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet
& "'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!"
&_ Cellule.Address(, , xlR1C1)
End Function
Bonsoir,
Et merci Frédéric pour ces autres approches.
En fait la procédure "fcgd-lireferme.xls" fonctionne très bien, mais
j'aurais en fait préférer disposer d'une fonction permettant de créer un
lien à certains endroits précis de la feuille de calcul.
Cordialement
PhilippeBonsoir,
D'autres approches pour récupérer des valeurs dans un/des fichier(s)
fermé(s) sur cette page :
http://frederic.sigonneau.free.fr/Ado.htm
Robert Dezan a construit un classeur qui illustre les utilisations des
techniques à base d'ADO, dispo sur excelabo (le code est protégé mais
le mot de passe est fourni) :
http://disciplus.simplex.free.fr/classeursxl/rd-lireferme.zip
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonjour à tous,
A partir de l'exemple trouvé sur Excelabo (fcgd-lireferme.xls), j'ai
essayé de bâtir une fonction me permettant de récupérer dans une
série de fichiers où se trouve un onglet "standardisé", les valeurs
de celui-ci.
Or la fonction donne comme résultat non pas le résultat mais la
chaîne correspondant à la formule du lien (lorsque je fais un
copier-valeur, je vois une simple quote de la formule dans la barre
de formule).
L'un d'entre vous pourrait-il me dire se qui "cloche" dans mon script ?
Merci d'avance
Philippe
ps : pour comprendre l'esprit de cette fonction, je peux préciser que
la variable "Code" me permet de rechercher tel ou tel fichier selon
ce dernier.
'Source : Fichier fcgd-lireferme.xls de Excelabo
'Sub recupuneseule()
' Flo
' Dim Chemin As String, NomFic As String, Onglet As String, Ref As
String
' Dim A
' Chemin = InputBox("Chemin du fichier à lire :", "lire fichier
Fermé", "C:Mes Documents")
' NomFic = InputBox("Nom du fichier EXCEL à lire :", "lire fichier
Fermé", "MonFichier.xls")
' Onglet = InputBox("nom de la feuille :", "lire fichier fermé",
"Feuil1")
' Ref = InputBox("adresse de la cellule à lire :", "lire fichier
fermé", "A1")
' ActiveCell.Value = "='" & Chemin & "[" & NomFic & "]" & Onglet
& "'!" & Range(Ref).Range("A1").Address(, , xlR1C1)
'End Sub
Function ValeurFichierFerme(Cellule As Range, Code As Integer)
CodeSociete = Code
NomFichier =
Application.WorksheetFunction.Lookup(CodeSociete,_
Range("Code"), Range("Nom_Fichier"))
NomFichierComplet = Range("NomChemin") & "[" & NomFichier & "]"
&_ Range("NomOnglet")
ValeurFichierFerme = "='" & NomFichierComplet & "'!"
&_ Cellule.Address(, , xlR1C1)
End Function
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble qu'il
y ait un problème dans l'interprétation de la référence : sous quelle
forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également opérationnelle
avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble qu'il
y ait un problème dans l'interprétation de la référence : sous quelle
forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également opérationnelle
avec XL 2000 ?
Merci de votre aide
Cordialement
Philippe
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble qu'il
y ait un problème dans l'interprétation de la référence : sous quelle
forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également opérationnelle
avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier paramètre,
comme cela est montré dans la procédure 'test' du module. Soit en
affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et lui
passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à une
bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier paramètre,
comme cela est montré dans la procédure 'test' du module. Soit en
affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et lui
passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à une
bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
Philippe
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier paramètre,
comme cela est montré dans la procédure 'test' du module. Soit en
affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et lui
passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à une
bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble qu'il
y ait un problème dans l'interprétation de la référence : sous quelle
forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également opérationnelle
avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble qu'il
y ait un problème dans l'interprétation de la référence : sous quelle
forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également opérationnelle
avec XL 2000 ?
Merci de votre aide
Cordialement
Philippe
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble qu'il
y ait un problème dans l'interprétation de la référence : sous quelle
forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également opérationnelle
avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce module
de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Malheureusement, j'ai essayé avec ce qui suit et aucun résultat n'est
affiché ! Snif !
Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)
'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 = 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
GetValueWithADO = Application.Clean(RcdSet(0))
'autre syntaxe possible
' GetValueWithADO =Application.Clean(RcdSet.GetString(NumRows:=1))
'nettoyage
Set RcdSet = Nothing
End Function 'fs
Sub test()
Dim fich$, feuil$, Cell As Range
fich = "D:SauvegardesLaptopExcelGroupeExercice
2004Reporting 2004.11383 - Chantenat Situation 2004.11.xls"
feuil = "Tax Proof"
Set Cell = Range("M14")
MsgBox GetValueWithADO(fich, feuil, Cell)
End SubBonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier
paramètre, comme cela est montré dans la procédure 'test' du module.
Soit en affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et
lui passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à
une bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Malheureusement, j'ai essayé avec ce qui suit et aucun résultat n'est
affiché ! Snif !
Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)
'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 = 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
GetValueWithADO = Application.Clean(RcdSet(0))
'autre syntaxe possible
' GetValueWithADO =Application.Clean(RcdSet.GetString(NumRows:=1))
'nettoyage
Set RcdSet = Nothing
End Function 'fs
Sub test()
Dim fich$, feuil$, Cell As Range
fich = "D:SauvegardesLaptopExcelGroupeExercice
2004Reporting 2004.11383 - Chantenat Situation 2004.11.xls"
feuil = "Tax Proof"
Set Cell = Range("M14")
MsgBox GetValueWithADO(fich, feuil, Cell)
End Sub
Bonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier
paramètre, comme cela est montré dans la procédure 'test' du module.
Soit en affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et
lui passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à
une bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
Philippe
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Malheureusement, j'ai essayé avec ce qui suit et aucun résultat n'est
affiché ! Snif !
Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)
'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 = 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
GetValueWithADO = Application.Clean(RcdSet(0))
'autre syntaxe possible
' GetValueWithADO =Application.Clean(RcdSet.GetString(NumRows:=1))
'nettoyage
Set RcdSet = Nothing
End Function 'fs
Sub test()
Dim fich$, feuil$, Cell As Range
fich = "D:SauvegardesLaptopExcelGroupeExercice
2004Reporting 2004.11383 - Chantenat Situation 2004.11.xls"
feuil = "Tax Proof"
Set Cell = Range("M14")
MsgBox GetValueWithADO(fich, feuil, Cell)
End SubBonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier
paramètre, comme cela est montré dans la procédure 'test' du module.
Soit en affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et
lui passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à
une bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Malheureusement, j'ai essayé avec ce qui suit et aucun résultat n'est
affiché ! Snif !
Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)
'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 = 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
GetValueWithADO = Application.Clean(RcdSet(0))
'autre syntaxe possible
' GetValueWithADO =Application.Clean(RcdSet.GetString(NumRows:=1))
'nettoyage
Set RcdSet = Nothing
End Function 'fs
Sub test()
Dim fich$, feuil$, Cell As Range
fich = "D:SauvegardesLaptopExcelGroupeExercice
2004Reporting 2004.11383 - Chantenat Situation 2004.11.xls"
feuil = "Tax Proof"
Set Cell = Range("M14")
MsgBox GetValueWithADO(fich, feuil, Cell)
End SubBonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier
paramètre, comme cela est montré dans la procédure 'test' du module.
Soit en affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et
lui passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à
une bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Malheureusement, j'ai essayé avec ce qui suit et aucun résultat n'est
affiché ! Snif !
Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)
'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 = 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
GetValueWithADO = Application.Clean(RcdSet(0))
'autre syntaxe possible
' GetValueWithADO =Application.Clean(RcdSet.GetString(NumRows:=1))
'nettoyage
Set RcdSet = Nothing
End Function 'fs
Sub test()
Dim fich$, feuil$, Cell As Range
fich = "D:SauvegardesLaptopExcelGroupeExercice
2004Reporting 2004.11383 - Chantenat Situation 2004.11.xls"
feuil = "Tax Proof"
Set Cell = Range("M14")
MsgBox GetValueWithADO(fich, feuil, Cell)
End Sub
Bonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier
paramètre, comme cela est montré dans la procédure 'test' du module.
Soit en affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et
lui passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à
une bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
Philippe
Bonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !
Malheureusement, j'ai essayé avec ce qui suit et aucun résultat n'est
affiché ! Snif !
Function GetValueWithADO(Classeur$, Feuille$, Cell As Range)
'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 = 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
GetValueWithADO = Application.Clean(RcdSet(0))
'autre syntaxe possible
' GetValueWithADO =Application.Clean(RcdSet.GetString(NumRows:=1))
'nettoyage
Set RcdSet = Nothing
End Function 'fs
Sub test()
Dim fich$, feuil$, Cell As Range
fich = "D:SauvegardesLaptopExcelGroupeExercice
2004Reporting 2004.11383 - Chantenat Situation 2004.11.xls"
feuil = "Tax Proof"
Set Cell = Range("M14")
MsgBox GetValueWithADO(fich, feuil, Cell)
End SubBonsoir,
Je viens de la tester avec Excel 2000 et il n'y a pas de problème..
En VBA, c'est un objet Range qu'il faut passer comme dernier
paramètre, comme cela est montré dans la procédure 'test' du module.
Soit en affectant une cellule à une variable avec Set soit en passant
directement la cellule à la fonction. Par ex :
MsgBox GetValueWithADO(fich, feuil, Range("A1"))
Dans une feuille de calcul, il faut laisser Excel se débrouiller et
lui passer seulement l'adresse de la cellule :
=GetValueWithADO("D:TestADO.xls";"feuil1";A1)
(A parte pour Denis : cette fonction ne nécessite pas de référence à
une bibliothèque particulière, dans la mesure où elle utilise le 'Late
Binding')
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !Bonsoir Frédéric,
J'avais essayé cette fonction mais qui malheureusement ne donne aucun
résultat.
En regardant de plus près les arguments de la fonction, il semble
qu'il y ait un problème dans l'interprétation de la référence : sous
quelle forme doit-elle être indiquée ?
Question subsidiaire : cette fonction est-elle également
opérationnelle avec XL 2000 ?
Merci de votre aide
Cordialement
PhilippeBonjour,
C'est préciément ce que propose la fonction, par exemple, de ce
module de code :
http://frederic.sigonneau.free.fr/code/Ado/ADOGetValue.txt
FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://frederic.sigonneau.free.fr
Si votre question sur Excel est urgente, évitez ma bal !