-----Message d'origine-----
Salut,
J'ai fait une macro qui ajoute/supprime des fichiers et
des repertoires. J'ai installé le classeur contenant la
macro sur un PC. Lorsque je lance la macro à partir d'un
autre PC qui a accès en lecture/ecriture au PC cointenant
le classeur, la macro p)lante. Quelqu'un a-t-il une
solution
.
-----Message d'origine-----
Salut,
J'ai fait une macro qui ajoute/supprime des fichiers et
des repertoires. J'ai installé le classeur contenant la
macro sur un PC. Lorsque je lance la macro à partir d'un
autre PC qui a accès en lecture/ecriture au PC cointenant
le classeur, la macro p)lante. Quelqu'un a-t-il une
solution
.
-----Message d'origine-----
Salut,
J'ai fait une macro qui ajoute/supprime des fichiers et
des repertoires. J'ai installé le classeur contenant la
macro sur un PC. Lorsque je lance la macro à partir d'un
autre PC qui a accès en lecture/ecriture au PC cointenant
le classeur, la macro p)lante. Quelqu'un a-t-il une
solution
.
-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké le
fichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...
ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké le
fichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...
ou bien \ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké le
fichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...
ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
-----Message d'origine-----
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile" =>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké lefichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.
-----Message d'origine-----
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile" =>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?
-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké le
fichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...
ou bien \ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.
-----Message d'origine-----
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile" =>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké lefichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.
-----Message d'origine-----
A vue de nez, je ne vois pas l'erreur, mais je ne
connais
pas grand chose en réseau et chemins d'accès. Je suppose
que tu as jeté un coup d'oeil à la tête de tes variables
au moment du crash (est-ce que NomFichier ressemble à ce
qu'il doit?).
Est-ce que tu as demandé aux services infos de ta boite
si
cela pouvait être dû à une mesure de sécurité anti-virus
empéchant des programmes de s'auto-enregistrer depuis un
autre ordi du réseau (ou un truc dans ce goût-là)?
Désolé de ne pas pouvoir t'aider.
Chris.-----Message d'origine-----
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile"
=>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké lefichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.
.
-----Message d'origine-----
A vue de nez, je ne vois pas l'erreur, mais je ne
connais
pas grand chose en réseau et chemins d'accès. Je suppose
que tu as jeté un coup d'oeil à la tête de tes variables
au moment du crash (est-ce que NomFichier ressemble à ce
qu'il doit?).
Est-ce que tu as demandé aux services infos de ta boite
si
cela pouvait être dû à une mesure de sécurité anti-virus
empéchant des programmes de s'auto-enregistrer depuis un
autre ordi du réseau (ou un truc dans ce goût-là)?
Désolé de ne pas pouvoir t'aider.
Chris.
-----Message d'origine-----
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile"
=>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?
-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké le
fichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...
ou bien \ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.
.
-----Message d'origine-----
A vue de nez, je ne vois pas l'erreur, mais je ne
connais
pas grand chose en réseau et chemins d'accès. Je suppose
que tu as jeté un coup d'oeil à la tête de tes variables
au moment du crash (est-ce que NomFichier ressemble à ce
qu'il doit?).
Est-ce que tu as demandé aux services infos de ta boite
si
cela pouvait être dû à une mesure de sécurité anti-virus
empéchant des programmes de s'auto-enregistrer depuis un
autre ordi du réseau (ou un truc dans ce goût-là)?
Désolé de ne pas pouvoir t'aider.
Chris.-----Message d'origine-----
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile"
=>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké lefichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.
.
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile" =>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké lefichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile" =>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?
-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké le
fichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...
ou bien \ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile" =>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké lefichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
-----Message d'origine-----
Bonsoir,
Je n'ai pas de moyen de tester mais j'ai déjà lu que
ChDir ne donnait pas les
résultats attendus quand on cherche à accéder au dossier
d'un ordinateur
distant. Il existe une fonction de substitution pour
contourner ce problème, qui
pourrait peut-être t'aider à régler ton problème (code à
recopier dans un module
standard du classeur où tu veux l'utiliser) :
'================
'une procédure pour remplacer ChDir avec un
lecteur/répertoire réseau
Private Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
Sub ChDirNet(szPath As String)
'collectif, d'après Laurent Longre, mpep
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError +
1, "Error setting path."
End Sub
'Example of usage
Sub GetFile()
On Error GoTo ErrHandler
ChDirNet "LOGD0FILESOGILVTWDocsTemp"
Exit Sub
ErrHandler:
MsgBox "Couldn't set path"
End Sub
'================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile"
=>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké lefichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.
-----Message d'origine-----
Bonsoir,
Je n'ai pas de moyen de tester mais j'ai déjà lu que
ChDir ne donnait pas les
résultats attendus quand on cherche à accéder au dossier
d'un ordinateur
distant. Il existe une fonction de substitution pour
contourner ce problème, qui
pourrait peut-être t'aider à régler ton problème (code à
recopier dans un module
standard du classeur où tu veux l'utiliser) :
'================
'une procédure pour remplacer ChDir avec un
lecteur/répertoire réseau
Private Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
Sub ChDirNet(szPath As String)
'collectif, d'après Laurent Longre, mpep
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError +
1, "Error setting path."
End Sub
'Example of usage
Sub GetFile()
On Error GoTo ErrHandler
ChDirNet "\LOGD0FILESOGILVTWDocsTemp"
Exit Sub
ErrHandler:
MsgBox "Couldn't set path"
End Sub
'================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile"
=>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?
-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké le
fichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...
ou bien \ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.
-----Message d'origine-----
Bonsoir,
Je n'ai pas de moyen de tester mais j'ai déjà lu que
ChDir ne donnait pas les
résultats attendus quand on cherche à accéder au dossier
d'un ordinateur
distant. Il existe une fonction de substitution pour
contourner ce problème, qui
pourrait peut-être t'aider à régler ton problème (code à
recopier dans un module
standard du classeur où tu veux l'utiliser) :
'================
'une procédure pour remplacer ChDir avec un
lecteur/répertoire réseau
Private Declare Function SetCurrentDirectoryA Lib _
"kernel32" (ByVal lpPathName As String) As Long
Sub ChDirNet(szPath As String)
'collectif, d'après Laurent Longre, mpep
Dim lReturn As Long
lReturn = SetCurrentDirectoryA(szPath)
If lReturn = 0 Then Err.Raise vbObjectError +
1, "Error setting path."
End Sub
'Example of usage
Sub GetFile()
On Error GoTo ErrHandler
ChDirNet "LOGD0FILESOGILVTWDocsTemp"
Exit Sub
ErrHandler:
MsgBox "Couldn't set path"
End Sub
'================
FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !
Voila un exemple simplifié que j'ai fait :
Sub AjoutProfile()
Dim i As Integer
Dim Formule1, Formule2 As String
Dim FeuilTravail As Worksheet
Dim Ligne2 As Integer
Dim NomFichier As String
Dim NomDossier As String
MatriculeProfile = "essai"
NomDossier = ActiveWorkbook.Path
ChDir NomDossier
MkDir MatriculeProfile
NomFichier = NomDossier + "" + MatriculeProfile
+ "" + MatriculeProfile + ".xls"
ActiveWorkbook.SaveAs Filename:=NomFichier,
FileFormat:=xlNormal _
, Password:="", WriteResPassword:="",
ReadOnlyRecommended:úlse, _
CreateBackup:úlse
ActiveWorkbook.RefreshAll
ActiveWorkbook.Save
End Sub
'Message d'erreur à la ligne "MkDir MatriculeProfile"
=>
erreur d'accès chemin/fichier
'Remarque : la variable NomDossier pointe bien vers le
dossier de l'ordinateur réseau.
je suis obligé de résonner en relatif pour pouvoir
déplacer le dossier facilement.
tu as une solution ?-----Message d'origine-----
C'est confus et vague à la fois... Comment les chemins
sont-ils exprimés ?
Les chemins sont pris en compte par rapport la machine
où est stocké lefichier qui exécute les actes me semble-t-il
Le pb vient peut-être de là.
Dans un réseau , mieux vaut se limiter aux chemins de
type LecteurRéseau...ou bien ServeurXXXetc...
sinon beaucoup de pb pénibles peuvent surgir...
H.B.
.
.