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

recup donnees depuis fichier fermé situe dans autre rep

4 réponses
Avatar
gilles
Bonjour a tous
j'utilise cette proc trouvée sur la FAQ
elle fonstionne nickel tant que je recupère des donnees d'un fichier situé
dans lemême repertoire
mais si je tente de récupérer depuis un rep situé juste le niveau au dessus
ça marche pas bien sur
ex: mon fichier( ou est placée cette proc) est dans un S/repertoire de D et
je veux recuperer les donnees de Test ADO
Comment puis je le modifier en ce sens?

Sub test()
GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25"
End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
'Ron De Bruin, mpep
'le paramètre 'cellRange' doit désigner
'*une* plage de cellules *contigües*
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "\[" & fName & "]" _
& sName & "'!" & cellRange
.Value = .Value
End With
End Sub

merci à ceusses qui vondont bien me consacrer le kek minutes qui vont bien!

--
gilles72

4 réponses

Avatar
MonOnc'
bonjour Gilles,

à vue de nez, tu dois préciser le répertoire dans l'appel de la macro
Sub test()
GetValuesFromAClosedWorkbook "D:ton_repertoire"
End sub

cordialement

Bonjour a tous
j'utilise cette proc trouvée sur la FAQ
elle fonstionne nickel tant que je recupère des donnees d'un fichier
situé
dans lemême repertoire
mais si je tente de récupérer depuis un rep situé juste le niveau au
dessus
ça marche pas bien sur
ex: mon fichier( ou est placée cette proc) est dans un S/repertoire de
D et
je veux recuperer les donnees de Test ADO
Comment puis je le modifier en ce sens?

Sub test()
GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25"
End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
'Ron De Bruin, mpep
'le paramètre 'cellRange' doit désigner
'*une* plage de cellules *contigües*
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" _
& sName & "'!" & cellRange
.Value = .Value
End With
End Sub

merci à ceusses qui vondont bien me consacrer le kek minutes qui vont
bien!
Avatar
Herdet
Bonsoir Gilles,
Essaie ceci :

Sub test()
For i = Len(ThisWorkbook.Path) To 1 Step -1
If Mid(ThisWorkbook.Path, i, 1) = "" Then Exit For
Next
Chemin = Left(ThisWorkbook.Path, i - 1) ' avec -1 pour enlever le
GetValuesFromAClosedWorkbook Chemin , "TestADO.xls", "Feuil1", "A1:H25"
End Sub

Si cela t'interresse, j'ai mis un classeur assez complet (et peut être
complexe) pour récupérer des infos, plage, feuilles,.. dans un classeur
fermé.
Classseur : rd_lireferme
http://www.excelabo.net/moteurs/recherche.php?pge=1&f_mot=&f_auteurÞzan


Cordiales salutations
Robert

"gilles" a écrit dans le message de news:

Bonjour a tous
j'utilise cette proc trouvée sur la FAQ
elle fonstionne nickel tant que je recupère des donnees d'un fichier situé
dans lemême repertoire
mais si je tente de récupérer depuis un rep situé juste le niveau au
dessus
ça marche pas bien sur
ex: mon fichier( ou est placée cette proc) est dans un S/repertoire de D
et
je veux recuperer les donnees de Test ADO
Comment puis je le modifier en ce sens?

Sub test()
GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25"
End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
'Ron De Bruin, mpep
'le paramètre 'cellRange' doit désigner
'*une* plage de cellules *contigües*
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" _
& sName & "'!" & cellRange
.Value = .Value
End With
End Sub

merci à ceusses qui vondont bien me consacrer le kek minutes qui vont
bien!

--
gilles72


Avatar
JB
Bonjour,

-Lit B2:B3 dans le sous-répertoire source
-ActiveWorkbook.Path donne le chemin du classeur actif

Sub LitClasseurFermé()
ChampOuCopier = "C2:C3"
Chemin = ActiveWorkbook.Path & "source"
Fichier = "stock.xls"
onglet = "Janvier"
ChampAlire = "B2:B3"
LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire
End Sub

Sub LitChamp(ChampOuCopier, Répertoire, Fichier, onglet, ChampAlire)
Range(ChampOuCopier).Formula = "='" & Répertoire & "[" & Fichier &
"]" & onglet & "'!" & ChampAlire
Range(ChampOuCopier).Value = Range(ChampOuCopier).Value
End Sub

Cordialement JB
Avatar
gilles
BONJOUR à vous 3
EXCUSEZ DU RETARDpour les remerciements
j'étais absent et je viens de prendre seulemnt vos réponses
merci encore
j'essaie ça
à+
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Bonsoir Gilles,
Essaie ceci :

Sub test()
For i = Len(ThisWorkbook.Path) To 1 Step -1
If Mid(ThisWorkbook.Path, i, 1) = "" Then Exit For
Next
Chemin = Left(ThisWorkbook.Path, i - 1) ' avec -1 pour enlever le
GetValuesFromAClosedWorkbook Chemin , "TestADO.xls", "Feuil1", "A1:H25"
End Sub

Si cela t'interresse, j'ai mis un classeur assez complet (et peut être
complexe) pour récupérer des infos, plage, feuilles,.. dans un classeur
fermé.
Classseur : rd_lireferme
http://www.excelabo.net/moteurs/recherche.php?pge=1&f_mot=&f_auteurÞzan


Cordiales salutations
Robert

"gilles" a écrit dans le message de news:

Bonjour a tous
j'utilise cette proc trouvée sur la FAQ
elle fonstionne nickel tant que je recupère des donnees d'un fichier situé
dans lemême repertoire
mais si je tente de récupérer depuis un rep situé juste le niveau au
dessus
ça marche pas bien sur
ex: mon fichier( ou est placée cette proc) est dans un S/repertoire de D
et
je veux recuperer les donnees de Test ADO
Comment puis je le modifier en ce sens?

Sub test()
GetValuesFromAClosedWorkbook "D:", "TestADO.xls", "Feuil1", "A1:H25"
End Sub

Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
'Ron De Bruin, mpep
'le paramètre 'cellRange' doit désigner
'*une* plage de cellules *contigües*
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" _
& sName & "'!" & cellRange
.Value = .Value
End With
End Sub

merci à ceusses qui vondont bien me consacrer le kek minutes qui vont
bien!

--
gilles72