recup de données sur un fichier situé sur rep au dessus
2 réponses
gilles
bonjour,
j'ai passé le message suivant en mars, auquel Robert et JB m'ont répondu
j'utilise cette proc trouvée sur la FAQ
elle fonctionne nickel tant que je recupère des donnees d'un fichier
situé dans le mê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 "fiche info affaire", situé sur
directement sur D
Comment puis je le modifier en ce sens?
'Sub test() 'ça marche si les fichiers sont dans le même rep
'GetValuesFromAClosedWorkbook ThisWorkbook.Path, "fiche info affaire.xls",
"Fiche", "B8:H85"
'End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
.Formula = "='" & fPath & "\[" & fName & "]" & sName & "'!" & cellRange
.Value = .Value
End With
End Sub
ROBERT m'a proposé ce code adapté :
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 , "fiche info affaire.xls", "Fiche",
"B8:H85"
End Sub
Je suis resté quelques mois absent
En me repenchant dessus, j'ai le message suivant:
Erreur de compilation
type d'argument By Ref incompatible
ça coince sur chemin
Qulqu'un voit-il ce qui ne va pas ?
Merci
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
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
Ange Ounis
Si tu utilises Excel 2000 ou + récent, une petite fonction VBA peut peut-être te dépanner :
''''''''''''''''''''' 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
---------- Ange Ounis ----------
bonjour, j'ai passé le message suivant en mars, auquel Robert et JB m'ont répondu
j'utilise cette proc trouvée sur la FAQ
elle fonctionne nickel tant que je recupère des donnees d'un fichier situé dans le mê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 "fiche info affaire", situé sur directement sur D Comment puis je le modifier en ce sens?
'Sub test() 'ça marche si les fichiers sont dans le même rep 'GetValuesFromAClosedWorkbook ThisWorkbook.Path, "fiche info affaire.xls", "Fiche", "B8:H85"
'End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) ..Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange ..Value = .Value End With End Sub
ROBERT m'a proposé ce code adapté :
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 , "fiche info affaire.xls", "Fiche", "B8:H85" End Sub
Je suis resté quelques mois absent En me repenchant dessus, j'ai le message suivant:
Erreur de compilation type d'argument By Ref incompatible
ça coince sur chemin
Qulqu'un voit-il ce qui ne va pas ?
Merci
Si tu utilises Excel 2000 ou + récent, une petite fonction VBA peut peut-être te
dépanner :
'''''''''''''''''''''
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
----------
Ange Ounis
----------
bonjour,
j'ai passé le message suivant en mars, auquel Robert et JB m'ont répondu
j'utilise cette proc trouvée sur la FAQ
elle fonctionne nickel tant que je recupère des donnees d'un fichier
situé dans le mê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 "fiche info affaire", situé sur
directement sur D
Comment puis je le modifier en ce sens?
'Sub test() 'ça marche si les fichiers sont dans le même rep
'GetValuesFromAClosedWorkbook ThisWorkbook.Path, "fiche info affaire.xls",
"Fiche", "B8:H85"
'End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
..Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange
..Value = .Value
End With
End Sub
ROBERT m'a proposé ce code adapté :
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 , "fiche info affaire.xls", "Fiche",
"B8:H85"
End Sub
Je suis resté quelques mois absent
En me repenchant dessus, j'ai le message suivant:
Erreur de compilation
type d'argument By Ref incompatible
Si tu utilises Excel 2000 ou + récent, une petite fonction VBA peut peut-être te dépanner :
''''''''''''''''''''' 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
---------- Ange Ounis ----------
bonjour, j'ai passé le message suivant en mars, auquel Robert et JB m'ont répondu
j'utilise cette proc trouvée sur la FAQ
elle fonctionne nickel tant que je recupère des donnees d'un fichier situé dans le mê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 "fiche info affaire", situé sur directement sur D Comment puis je le modifier en ce sens?
'Sub test() 'ça marche si les fichiers sont dans le même rep 'GetValuesFromAClosedWorkbook ThisWorkbook.Path, "fiche info affaire.xls", "Fiche", "B8:H85"
'End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) ..Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange ..Value = .Value End With End Sub
ROBERT m'a proposé ce code adapté :
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 , "fiche info affaire.xls", "Fiche", "B8:H85" End Sub
Je suis resté quelques mois absent En me repenchant dessus, j'ai le message suivant:
Erreur de compilation type d'argument By Ref incompatible
ça coince sur chemin
Qulqu'un voit-il ce qui ne va pas ?
Merci
gilles
Un grand MERCI Ange ça faisait un moment que je tatonnais avec d'autres codes mais à chaque fois j'obtenais des messages d'erreur merci encore à+ -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Si tu utilises Excel 2000 ou + récent, une petite fonction VBA peut peut-être te dépanner :
''''''''''''''''''''' 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
---------- Ange Ounis ----------
bonjour, j'ai passé le message suivant en mars, auquel Robert et JB m'ont répondu
j'utilise cette proc trouvée sur la FAQ
elle fonctionne nickel tant que je recupère des donnees d'un fichier situé dans le mê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 "fiche info affaire", situé sur directement sur D Comment puis je le modifier en ce sens?
'Sub test() 'ça marche si les fichiers sont dans le même rep 'GetValuesFromAClosedWorkbook ThisWorkbook.Path, "fiche info affaire.xls", "Fiche", "B8:H85"
'End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) ..Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange ..Value = .Value End With End Sub
ROBERT m'a proposé ce code adapté :
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 , "fiche info affaire.xls", "Fiche", "B8:H85" End Sub
Je suis resté quelques mois absent En me repenchant dessus, j'ai le message suivant:
Erreur de compilation type d'argument By Ref incompatible
ça coince sur chemin
Qulqu'un voit-il ce qui ne va pas ?
Merci
Un grand MERCI Ange
ça faisait un moment que je tatonnais avec d'autres codes mais à chaque fois
j'obtenais des messages d'erreur
merci encore
à+
--
en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui,
mais à chaque jour suffit sa peine...
Si tu utilises Excel 2000 ou + récent, une petite fonction VBA peut peut-être te
dépanner :
'''''''''''''''''''''
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
----------
Ange Ounis
----------
bonjour,
j'ai passé le message suivant en mars, auquel Robert et JB m'ont répondu
j'utilise cette proc trouvée sur la FAQ
elle fonctionne nickel tant que je recupère des donnees d'un fichier
situé dans le mê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 "fiche info affaire", situé sur
directement sur D
Comment puis je le modifier en ce sens?
'Sub test() 'ça marche si les fichiers sont dans le même rep
'GetValuesFromAClosedWorkbook ThisWorkbook.Path, "fiche info affaire.xls",
"Fiche", "B8:H85"
'End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _
fName As String, sName, cellRange As String)
..Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange
..Value = .Value
End With
End Sub
ROBERT m'a proposé ce code adapté :
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 , "fiche info affaire.xls", "Fiche",
"B8:H85"
End Sub
Je suis resté quelques mois absent
En me repenchant dessus, j'ai le message suivant:
Erreur de compilation
type d'argument By Ref incompatible
Un grand MERCI Ange ça faisait un moment que je tatonnais avec d'autres codes mais à chaque fois j'obtenais des messages d'erreur merci encore à+ -- en VBA aussi, ne remettons pas au lendemain ce qu'on peut faire aujourd'hui, mais à chaque jour suffit sa peine...
Si tu utilises Excel 2000 ou + récent, une petite fonction VBA peut peut-être te dépanner :
''''''''''''''''''''' 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
---------- Ange Ounis ----------
bonjour, j'ai passé le message suivant en mars, auquel Robert et JB m'ont répondu
j'utilise cette proc trouvée sur la FAQ
elle fonctionne nickel tant que je recupère des donnees d'un fichier situé dans le mê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 "fiche info affaire", situé sur directement sur D Comment puis je le modifier en ce sens?
'Sub test() 'ça marche si les fichiers sont dans le même rep 'GetValuesFromAClosedWorkbook ThisWorkbook.Path, "fiche info affaire.xls", "Fiche", "B8:H85"
'End Sub
Sub GetValuesFromAClosedWorkbook(fPath As String, _ fName As String, sName, cellRange As String) ..Formula = "='" & fPath & "[" & fName & "]" & sName & "'!" & cellRange ..Value = .Value End With End Sub
ROBERT m'a proposé ce code adapté :
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 , "fiche info affaire.xls", "Fiche", "B8:H85" End Sub
Je suis resté quelques mois absent En me repenchant dessus, j'ai le message suivant:
Erreur de compilation type d'argument By Ref incompatible