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

recupération de données du repertoire au dessus

8 réponses
Avatar
gilles
bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre en place
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "\")) - 1
S = S & Split(Chemin, "\")(i) & "\"
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...

8 réponses

Avatar
anonymousa
Bonjour,

As-tu créé quelque part dans ton projet VBA , la procédure
GetValuesFromAClosedWorkbook car cette procédure n'existe pas de manière
native dans Excel et est forcément une procédure VBA écrite de manière
adhoc pour récupérer des données d'un fichier fermé.

A+


bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre en place
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "")) - 1
S = S & Split(Chemin, "")(i) & ""
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles


Avatar
anonymousa
Par ailleurs et juste pour le fun, et bien que FileSystemObject ne soit
pas la chose la plus rapide du monde ( pour faire mieux, il faut passer
par les API ) , ci-dessous quelques exemples de ce que l'on peut faire
pour travailler sur le nom d'un fichier ou d'un répertoire.

Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName(ActiveWorkbook.FullName) 'nom fichier sans path
et sans extension
MsgBox fso.GetAbsolutePathName(ActiveWorkbook.FullName) 'nom fichier
avec path complet et extension
MsgBox fso.GetFileName(ActiveWorkbook.FullName) 'nom fichier sans path
et avec extension

With fso
MsgBox
.GetParentFolderName(.GetParentFolderName(ActiveWorkbook.FullName)) 'nom
du répertoire parent du fichier en cours
End With

A+

Bonjour,

As-tu créé quelque part dans ton projet VBA , la procédure
GetValuesFromAClosedWorkbook car cette procédure n'existe pas de manière
native dans Excel et est forcément une procédure VBA écrite de manière
adhoc pour récupérer des données d'un fichier fermé.

A+


bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre en place
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "")) - 1
S = S & Split(Chemin, "")(i) & ""
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles




Avatar
gilles
bonjour anonymous
et merci de ton aide
non je n'ai pas crée cette proc
mais j'ai crée ce fichier il y a kek mois deja et les utilisateurs me disent
que ça marchait avant....!!
je vais essayer à partir de tes suggestions
merci encore
à+
gilles

--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Par ailleurs et juste pour le fun, et bien que FileSystemObject ne soit
pas la chose la plus rapide du monde ( pour faire mieux, il faut passer
par les API ) , ci-dessous quelques exemples de ce que l'on peut faire
pour travailler sur le nom d'un fichier ou d'un répertoire.

Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName(ActiveWorkbook.FullName) 'nom fichier sans path
et sans extension
MsgBox fso.GetAbsolutePathName(ActiveWorkbook.FullName) 'nom fichier
avec path complet et extension
MsgBox fso.GetFileName(ActiveWorkbook.FullName) 'nom fichier sans path
et avec extension

With fso
MsgBox
..GetParentFolderName(.GetParentFolderName(ActiveWorkbook.FullName)) 'nom
du répertoire parent du fichier en cours
End With

A+

Bonjour,

As-tu créé quelque part dans ton projet VBA , la procédure
GetValuesFromAClosedWorkbook car cette procédure n'existe pas de manière
native dans Excel et est forcément une procédure VBA écrite de manière
adhoc pour récupérer des données d'un fichier fermé.

A+


bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre en place
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "")) - 1
S = S & Split(Chemin, "")(i) & ""
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles







Avatar
gilles
bonjour anonymousa
ci dessous le code que j'ai rajouté (dans le même module)
sans succès : j'ai le même message

Sub GetValuesFromAWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange
.Value = .Value
End With
End Sub

à+
GILLES
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Par ailleurs et juste pour le fun, et bien que FileSystemObject ne soit
pas la chose la plus rapide du monde ( pour faire mieux, il faut passer
par les API ) , ci-dessous quelques exemples de ce que l'on peut faire
pour travailler sur le nom d'un fichier ou d'un répertoire.

Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName(ActiveWorkbook.FullName) 'nom fichier sans path
et sans extension
MsgBox fso.GetAbsolutePathName(ActiveWorkbook.FullName) 'nom fichier
avec path complet et extension
MsgBox fso.GetFileName(ActiveWorkbook.FullName) 'nom fichier sans path
et avec extension

With fso
MsgBox
..GetParentFolderName(.GetParentFolderName(ActiveWorkbook.FullName)) 'nom
du répertoire parent du fichier en cours
End With

A+

Bonjour,

As-tu créé quelque part dans ton projet VBA , la procédure
GetValuesFromAClosedWorkbook car cette procédure n'existe pas de manière
native dans Excel et est forcément une procédure VBA écrite de manière
adhoc pour récupérer des données d'un fichier fermé.

A+


bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre en place
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "")) - 1
S = S & Split(Chemin, "")(i) & ""
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles







Avatar
anonymousA
Ben

Déjà , GetValuesFromAClosedWorkbook
ce n'est pas GetValuesFromAWorkbook. Or c'est pourtant comme cà que tu
l'as écrit dans ta procédure test.
Essaye de mettre le bon nom et regarde , tu verras que ca fonctionne
très bien.

A+

On 30 jan, 08:27, gilles wrote:
bonjour anonymousa
ci dessous le code que j'ai rajouté (dans le même module)
sans succès : j'ai le même message

Sub GetValuesFromAWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRan ge
.Value = .Value
End With
End Sub

à+
GILLES
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'h ui,
mais à chaque jour suffit sa peine...




Par ailleurs et juste pour le fun, et bien que FileSystemObject ne soit
pas la chose la plus rapide du monde ( pour faire mieux, il faut passer
par les API ) , ci-dessous quelques exemples de ce que l'on peut faire
pour travailler sur le nom d'un fichier ou d'un répertoire.

Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName(ActiveWorkbook.FullName) 'nom fichier sans path
et sans extension
MsgBox fso.GetAbsolutePathName(ActiveWorkbook.FullName) 'nom fichier
avec path complet et extension
MsgBox fso.GetFileName(ActiveWorkbook.FullName) 'nom fichier sans path
et avec extension

With fso
MsgBox
..GetParentFolderName(.GetParentFolderName(ActiveWorkbook.FullName)) 'n om
du répertoire parent du fichier en cours
End With

A+

Bonjour,

As-tu créé quelque part dans ton projet VBA , la procédure
GetValuesFromAClosedWorkbook car cette procédure n'existe pas de ma nière
native dans Excel et est forcément une procédure VBA écrite de manière
adhoc pour récupérer des données d'un fichier fermé.

A+

bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre en pl ace
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "")) - 1
S = S & Split(Chemin, "")(i) & ""
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles- Masquer le texte des messages précédents -- Afficher le texte des messages précédents -








Avatar
gilles
Re bonjour anonymousa,
effectivement, je me suis planté et là, ça marche bien, je t'en remercie à
nouveau
juste une chose sur laquelle tu peux peut-être m'éclairer:
si le fichier source est ouvert quand je lance la macro, ça n'importe pas
les données, mais ça met à 0 les données sur le fichier source
Si ton savoir de VBAtiste peut éclairer le bricoleur que je suis, MERCI
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...



Ben

Déjà , GetValuesFromAClosedWorkbook
ce n'est pas GetValuesFromAWorkbook. Or c'est pourtant comme cà que tu
l'as écrit dans ta procédure test.
Essaye de mettre le bon nom et regarde , tu verras que ca fonctionne
très bien.

A+

On 30 jan, 08:27, gilles wrote:
bonjour anonymousa
ci dessous le code que j'ai rajouté (dans le même module)
sans succès : j'ai le même message

Sub GetValuesFromAWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange
.Value = .Value
End With
End Sub

à+
GILLES
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...




Par ailleurs et juste pour le fun, et bien que FileSystemObject ne soit
pas la chose la plus rapide du monde ( pour faire mieux, il faut passer
par les API ) , ci-dessous quelques exemples de ce que l'on peut faire
pour travailler sur le nom d'un fichier ou d'un répertoire.

Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName(ActiveWorkbook.FullName) 'nom fichier sans path
et sans extension
MsgBox fso.GetAbsolutePathName(ActiveWorkbook.FullName) 'nom fichier
avec path complet et extension
MsgBox fso.GetFileName(ActiveWorkbook.FullName) 'nom fichier sans path
et avec extension

With fso
MsgBox
..GetParentFolderName(.GetParentFolderName(ActiveWorkbook.FullName)) 'nom
du répertoire parent du fichier en cours
End With

A+

Bonjour,

As-tu créé quelque part dans ton projet VBA , la procédure
GetValuesFromAClosedWorkbook car cette procédure n'existe pas de manière
native dans Excel et est forcément une procédure VBA écrite de manière
adhoc pour récupérer des données d'un fichier fermé.

A+

bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre en place
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "")) - 1
S = S & Split(Chemin, "")(i) & ""
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles- Masquer le texte des messages précédents -- Afficher le texte des messages précédents -












Avatar
anonymousA
Je ne constate pas ce que tu dis , d'autant que selon ce que tu as
publié, tu n'écris rien sur le fichier dont tu dis qu'il est ouvert
quand cas se produit . La seule possibilité à mon sens pour consatater
ce que tu décris est que le fichier actif quand tu lances la macro
soit le fichier qui te sert de référence à tes formules.

A+

On 30 jan, 11:32, gilles wrote:
Re bonjour anonymousa,
effectivement, je me suis planté et là, ça marche bien, je t'en rem ercie à
nouveau
juste une chose sur laquelle tu peux peut-être m'éclairer:
si le fichier source est ouvert quand je lance la macro, ça n'importe p as
les données, mais ça met à 0 les données sur le fichier source
Si ton savoir de VBAtiste peut éclairer le bricoleur que je suis, MERCI
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'h ui,
mais à chaque jour suffit sa peine...




Ben

Déjà , GetValuesFromAClosedWorkbook
ce n'est pas GetValuesFromAWorkbook. Or c'est pourtant comme cà que tu
l'as écrit dans ta procédure test.
Essaye de mettre le bon nom et regarde , tu verras que ca fonctionne
très bien.

A+

On 30 jan, 08:27, gilles wrote:
bonjour anonymousa
ci dessous le code que j'ai rajouté (dans le même module)
sans succès : j'ai le même message

Sub GetValuesFromAWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cel lRange
.Value = .Value
End With
End Sub

à+
GILLES
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujou rd'hui,
mais à chaque jour suffit sa peine...




Par ailleurs et juste pour le fun, et bien que FileSystemObject ne soit
pas la chose la plus rapide du monde ( pour faire mieux, il faut p asser
par les API ) , ci-dessous quelques exemples de ce que l'on peut fa ire
pour travailler sur le nom d'un fichier ou d'un répertoire.

Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName(ActiveWorkbook.FullName) 'nom fichier sans p ath
et sans extension
MsgBox fso.GetAbsolutePathName(ActiveWorkbook.FullName) 'nom fichier
avec path complet et extension
MsgBox fso.GetFileName(ActiveWorkbook.FullName) 'nom fichier sans p ath
et avec extension

With fso
MsgBox
..GetParentFolderName(.GetParentFolderName(ActiveWorkbook.FullName) ) 'nom
du répertoire parent du fichier en cours
End With

A+

Bonjour,

As-tu créé quelque part dans ton projet VBA , la procédure
GetValuesFromAClosedWorkbook car cette procédure n'existe pas d e manière
native dans Excel et est forcément une procédure VBA écrite de manière
adhoc pour récupérer des données d'un fichier fermé.

A+

bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre e n place
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "")) - 1
S = S & Split(Chemin, "")(i) & ""
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles- Masquer le texte des messages précédents -- Afficher le texte des messages précédents -- Masquer le texte des messages pr écédents -- Afficher le texte des messages précédents -












Avatar
gilles
Re re bonjour,
décidemment c'est pas mon jour:
j' ai ré-ouvert les 2 fichiers et je n'ai pas réussi à reproduire le phénomène
ça marche nickel
merci encore anonymous qui mérite d'être connu !
mon niveau ne me permettra malheureusement pas de te renvoyer l'ascenseur
à +
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...




Je ne constate pas ce que tu dis , d'autant que selon ce que tu as
publié, tu n'écris rien sur le fichier dont tu dis qu'il est ouvert
quand cas se produit . La seule possibilité à mon sens pour consatater
ce que tu décris est que le fichier actif quand tu lances la macro
soit le fichier qui te sert de référence à tes formules.

A+

On 30 jan, 11:32, gilles wrote:
Re bonjour anonymousa,
effectivement, je me suis planté et là, ça marche bien, je t'en remercie à
nouveau
juste une chose sur laquelle tu peux peut-être m'éclairer:
si le fichier source est ouvert quand je lance la macro, ça n'importe pas
les données, mais ça met à 0 les données sur le fichier source
Si ton savoir de VBAtiste peut éclairer le bricoleur que je suis, MERCI
Gilles
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...




Ben

Déjà , GetValuesFromAClosedWorkbook
ce n'est pas GetValuesFromAWorkbook. Or c'est pourtant comme cà que tu
l'as écrit dans ta procédure test.
Essaye de mettre le bon nom et regarde , tu verras que ca fonctionne
très bien.

A+

On 30 jan, 08:27, gilles wrote:
bonjour anonymousa
ci dessous le code que j'ai rajouté (dans le même module)
sans succès : j'ai le même message

Sub GetValuesFromAWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
With ActiveSheet.Range(cellRange)
.Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange
.Value = .Value
End With
End Sub

à+
GILLES
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...




Par ailleurs et juste pour le fun, et bien que FileSystemObject ne soit
pas la chose la plus rapide du monde ( pour faire mieux, il faut passer
par les API ) , ci-dessous quelques exemples de ce que l'on peut faire
pour travailler sur le nom d'un fichier ou d'un répertoire.

Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetBaseName(ActiveWorkbook.FullName) 'nom fichier sans path
et sans extension
MsgBox fso.GetAbsolutePathName(ActiveWorkbook.FullName) 'nom fichier
avec path complet et extension
MsgBox fso.GetFileName(ActiveWorkbook.FullName) 'nom fichier sans path
et avec extension

With fso
MsgBox
..GetParentFolderName(.GetParentFolderName(ActiveWorkbook.FullName)) 'nom
du répertoire parent du fichier en cours
End With

A+

Bonjour,

As-tu créé quelque part dans ton projet VBA , la procédure
GetValuesFromAClosedWorkbook car cette procédure n'existe pas de manière
native dans Excel et est forcément une procédure VBA écrite de manière
adhoc pour récupérer des données d'un fichier fermé.

A+

bonjour à tous
ci joint le code qu'une âme charitable m'a aidé à mettre en place
Function DossierPrécédent(Chemin As String)
Dim i As Long, S As String
For i = 0 To UBound(Split(Chemin, "")) - 1
S = S & Split(Chemin, "")(i) & ""
Next
DossierPrécédent = Left(S, Len(S) - 1)
End Function
'''''''''''''''''''''

'Ensuite, dans ta procédure de récupération des données :

Sub test()
GetValuesFromAClosedWorkbook _
DossierPrécédent(ThisWorkbook.Path), _
"fiche info affaire.xls", _
"Fiche", _
"B8:H85"
End Sub

Le message suivant s'affiche quand je lance test():
sub ou fonction non définie
est ce qu kekun voit d'ou ça peut venir ?
MERCI
gilles- Masquer le texte des messages précédents -- Afficher le texte des messages précédents -- Masquer le texte des messages précédents -- Afficher le texte des messages précédents -