Enregistrement fichier en réseau

kjin

XLDnaute Barbatruc
Bonsoir à tous,
La question n'a pas de rapport direct avec Excel, du coup je la poste ici.
En préambule, je suis nul concernant les réseaux (bah oui aussi !...)
J'ai un classeur qui dispose d'une macro d'enregistrement automatique lorsqu'on le ferme, et ça fonctionne très bien.
S'agissant d'un planning un peu compliqué, il est indispensable que je conserve cette fonctionnalité.
Hors je souhaite maintenant, pouvoir aussi utiliser ce classeur depuis un poste distant.
Le soucis est que du coup, ma sauvegarde auto ne fonctionne plus puisque le chemin pour l'enregistrement passe forcément par le réseau.
Comment savoir si le fichier est ouvert depuis le poste local ou depuis le poste distant, et intégrer cette info dans ma macro d'enregistrement !?
Quelle(s) autre solution(s) existe t-il, si tant est qu'il y en ait une ?
Merci

Edit : je peux toujours tester que le chemin par défaut existe mais il y a peut-être mieux !

A+
kjin
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Enregistrement fichier en réseau

Bonjour Kjin, Said :),
J'ai pas testé en réseau mais je ne vois pas pourquoi ça ne le ferait pas à partir du moment où ton serveur partagé est sur une lettre quelconque de la machine :
Code:
Sub test()
Dim Chemin As String
Chemin = ThisWorkbook.Path
MsgBox (Chemin)
End Sub
Bonne journée :cool:
 

kjin

XLDnaute Barbatruc
Re : Enregistrement fichier en réseau

Bonjour Said, bonjour JNP,
Said j'ai lu l'article mais ça ne correspond pas à mon pb
JNP dans l'absolu tu as raison je pense, mais mon classeur se trouve dans un répertoire, la sauvegarde se fait dans un autre, je vais donc modifier ce principe.
Merci pour votre sollicitude
A+
kjin
 

skoobi

XLDnaute Barbatruc
Re : Enregistrement fichier en réseau

Hello les amis!

kjin, il est possible de connaître le type de lecteur utilisé sur un PC (local, réseau, etc...) en utilisant la référence Scripting.FileSystemObject.
Voici un exemple (que j'ai récupéré je ne sais plus où) qui liste tout les lecteurs d'un PC avec le type:

Code:
Sub test2()
Dim fso As Object, d As Object, i As Byte
i = 1
Set fso = CreateObject("Scripting.FileSystemObject")
For Each d In fso.Drives
    Cells(i, 1).Value = d.DriveLetter
    Cells(i, 2).Value = d.DriveType
    Select Case d.DriveType
        Case 0: Cells(i, 3) = "Inconnu"
        Case 1: Cells(i, 3) = "Amovible"
        Case 2: Cells(i, 3) = "Fixe"
        Case 3: Cells(i, 3) = "Réseau"
        Case 4: Cells(i, 3) = "CD-ROM"
        Case 5: Cells(i, 3) = "Disque RAM"
    End Select
    i = i + 1
Next d
End Sub

Si ça peut t'aider.
 
Dernière édition:

kjin

XLDnaute Barbatruc
Re : Enregistrement fichier en réseau

Bonjour Skoobi,
Je ne sais pas si je m'en servirai, en tout cas je mets ça au chaud ;)
Merci beaucoup
kjin
 

Pierrot93

XLDnaute Barbatruc
Re : Enregistrement fichier en réseau

Bonjour à tous

pas sur d'avoir tout compris de la demande, mais regarde peut être le code ci-dessous, teste si le classeur actif est enregistré sur un réseau...

Code:
Option Explicit
Sub test()
Dim fs As Object, f As Object
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.GetFile(ActiveWorkbook.FullName).drive.drivetype = 3 Then MsgBox "Classeur sur le réseau"
End Sub

bon après midi
@+
 

JNP

XLDnaute Barbatruc
Re : Enregistrement fichier en réseau

Bonsoir le forum :),
Kjin, tu parles d'un autre répertoire, mais est-il sur un autre lecteur réseau ? Si c'est le même, pour remonter l'arborescence, il te suffit d'utiliser un Len pour calculer le nombre de caractères du chemin, utiliser un Left pour remonter les répertoires, puis de concaténer pour redescendre dans le répertoire d'arrivée... Si c'est un autre lecteur réseau, là, ça va poser problème car tu ne peux pas savoir quelle est la lettre du 2ème partage de fichier. Bien que si le répertoire partagé est toujours partagé au même endroit, le nom du premier dossier peut te permettre de l'identifier avec une boucle et une gestion d'erreur.
Bonne soirée :cool:
 

kjin

XLDnaute Barbatruc
Re : Enregistrement fichier en réseau

Bonsoir,
C'est un énorme réseau que je gère pas et j'en serais bien incapable
En fin de compte, j'ai rapatrié les divers dossiers dans un répertoire unique, encore qu'il m'ait fallu batailler toute l'après-midi pour reconfigurer les droits, et là miracle, en utilisant le chemin par défaut, comme tu me l'as suggéré JNP, tout baigne !
Encore merci à tous
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 038
Messages
2 084 824
Membres
102 682
dernier inscrit
ing_dupree