IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

OUverture fichier réseau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Gestionnaire financier
    Inscrit en
    Janvier 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gestionnaire financier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2016
    Messages : 19
    Par défaut OUverture fichier réseau
    Bonjour à toutes et à tous,
    J'ai un fichier "BCF" qui, via un bouton de commande, déverse certains éléments dans un fichier fermé (Dep_test.xlsx").

    Tout se passait très bien sur mon poste, et dès que je les ai mis sur le réseau, la macro ne fonctionne plus car il n'a pas reconnu l'adresse du fichier.

    Concrètement, "C:\mes_documents\Dep_test.xlsx" pas de soucis et "S:\2018\Dep_test.xlsx" ne fonctionne pas. "S" étant un lecteur réseau partagé par plusieurs collègues.
    Je vous mets un extrait du code ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Envoi_DEP2()
       Dim WSDest As Worksheet
       Dim WBDest As Workbook
       Dim WSSource As Worksheet
       Dim iR&
       Set WSSource = ThisWorkbook.Sheets("BCF")
            Workbooks.Open ("S:\2018\DEP_test.xls")
       Set WBDest = ActiveWorkbook
       Set WSDest = WBDest.Sheets("bdd")...
    J'ai essayé avec le nom complet du lecteur "S:\SB102003\2018\Dep_test.xlsx mais ça ne marche pas non plus.


    J'ai vu qu'il existait une commande Chdrive qui pourrait m'aider mais je n'ai pas réussi à la mettre en place.

    Merci par avance pour votre aide,et bonne journée

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Si j'ai bien compris, tu souhaites retourner l'adresse complète (FullName) de ton classeur en interprétant la connexion réseau au serveur.

    Fonction donnée par GAYOT sur forum, discussion ouverte par MarcelG

    'http://www.developpez.net/forums/d1025923/logiciels/microsoft-office/excel/macros-vba-excel/recherche-repertoire-libelle-integral/

    Dans un module utilitaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" _
     (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, cbRemoteName As Long) As Long
     
    Option Compare Text
     
    Public Function fnctGetUNCPath(ByVal PathName As String) As String
     
    'comment récupérer le chemin intégral du fichier si connection lecteur réseau
    'tuto :
    'http://access.developpez.com/sources/?page=reseau#GetUNC
     
    Const MAX_UNC_LENGTH  As Integer = 512
     
    Dim strUNCPath As String
    Dim strTempUNCName As String
    Dim lngReturnErrorCode  As Long
     
      strTempUNCName = String(MAX_UNC_LENGTH, 0)
      lngReturnErrorCode = WNetGetConnection(Left(PathName, 2), strTempUNCName, _
        MAX_UNC_LENGTH)
     
      If lngReturnErrorCode = 0 Then
         strTempUNCName = Trim(Left(strTempUNCName, InStr(strTempUNCName, vbNullChar) - 1))
         strUNCPath = strTempUNCName & Mid(PathName, 3)
      End If
     
    fnctGetUNCPath = strUNCPath
    End Function
    Ainsi utilisée,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub mochemin()
     
    Dim maréf_true as string
     
    maréf_true = IIf(Len(fnctGetUNCPath(ThisWorkbook.FullName)) = 0, ThisWorkbook.FullName, fnctGetUNCPath(ThisWorkbook.FullName))
     
    Debug.Print maréf_true
     
    End Sub
    cette fonction te retournera le chemin complet de ton classeur

    J'utilise beaucoup cette fonction dans mes applicatifs pour tester la version utilisée sur le poste des collègues

  3. #3
    Membre averti
    Homme Profil pro
    Gestionnaire financier
    Inscrit en
    Janvier 2016
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Gestionnaire financier
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Janvier 2016
    Messages : 19
    Par défaut
    Nikel MarcelG, merci beaucoup pour ta réponse.
    Bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ouverture fichier réseau
    Par darkman13130 dans le forum ASP.NET MVC
    Réponses: 8
    Dernier message: 18/03/2014, 11h33
  2. ouverture fichier sur disque réseau windows
    Par quiscoul dans le forum Général Python
    Réponses: 1
    Dernier message: 28/05/2009, 13h19
  3. [Réseau]Ouverture fichier mdb impossible en réseau
    Par PACLET dans le forum Sécurité
    Réponses: 2
    Dernier message: 04/04/2007, 14h18
  4. ouverture access réseau
    Par mschistozis dans le forum Access
    Réponses: 8
    Dernier message: 29/10/2004, 15h19
  5. [VBA-E] Macro ouverture fichier déja ouvert
    Par bhaal76 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo