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 :

Comment ouvrir un fichier excel avec une racine variable en vba [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    comptable débutante
    Inscrit en
    Septembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : comptable débutante

    Informations forums :
    Inscription : Septembre 2015
    Messages : 10
    Par défaut Comment ouvrir un fichier excel avec une racine variable en vba
    Bonjour,

    Je travaille sur une macro qui me permet de créer un TCD à partir d'un autre classeur excel qui me sert de base de données.
    Ce tcd est un outil qui va etre mis a disposition sur le serveur de mon entreprise.
    La macro marche mais le souci c'est la racine où est enregistrée mon classeur base de données. Elle est différente selon l'ordinateur utilisé.

    Actuellement mon code commence ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open Filename:="Y:\FAStime\Technique\Base de données GDT.xlsb"
    or sur un autre pc l'acces au fichier pourrait etre "W:\FAStime\Technique\Base de données GDT.xlsb" par exemple.

    Quelle serait le code à ajouter au début de ma macro pour que le classeur " base de données GDT.xlsb" soit ouvert même si la racine est différente ?
    je vous remercie d'avance

    ps je suis novice

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour,

    et au final Y: et W: c'est des unités réseaux ?

  3. #3
    Membre régulier
    Femme Profil pro
    comptable débutante
    Inscrit en
    Septembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : comptable débutante

    Informations forums :
    Inscription : Septembre 2015
    Messages : 10
    Par défaut
    Citation Envoyé par bbil Voir le message
    Bonjour,

    et au final Y: et W: c'est des unités réseaux ?

    oui c'est la lettre qui identifie l'unité réseau.

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    utilise le nom UNC de ton répertoire :


    http://access.developpez.com/sources...=reseau#GetUNC

  5. #5
    Membre régulier
    Femme Profil pro
    comptable débutante
    Inscrit en
    Septembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : comptable débutante

    Informations forums :
    Inscription : Septembre 2015
    Messages : 10
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    bonjour,
    et avec son adresse IP: \\168.192.1.1\FAStime\Technique\Base de données GDT.xlsb?
    J'ai essayé avec mon adresse ip. C'est trop long et le chemin est introuvable

    Citation Envoyé par bbil Voir le message
    utilise le nom UNC de ton répertoire :


    http://access.developpez.com/sources...=reseau#GetUNC
    j'ai essayé en remplacant mon code par

    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
    Private Declare Function WNetGetConnection Lib "mpr.dll" Alias "WNetGetConnectionA" _
     (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, cbRemoteName As Long) As Long
     
     
     
    Public Function fnctGetUNCPath(ByVal PathName As String) As String
    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
    MsgBox fnctGetUNCPath("\FAStime\Technique\Base de données GDT.xlsb")
    j'ai un message d'erreur " seuls les commentaires peuvent apparaitre apres end sub, end fonction and property"
    en sachant qu'il y a le reste de ma macro qui suit

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Tu dois mettre ton appel à MsgBox dans une procédure (Sub ) et n'oublie pas la lettre du disque en paramètre.





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub MonNomUNC
      MsgBox fnctGetUNCPath("W:\FAStime\Technique\Base de données GDT.xlsb")
    End Sub

  7. #7
    Invité
    Invité(e)
    Par défaut
    quand tu vas dans l'explorateur Windows quel es l'adresse ip inscrit dans ton lecteur?
    ces celui là que tu dois écrire. mois j'ai des mapage a rallonge et ça fonctionne,je n'utilise jamais les le lettres du mapage!

  8. #8
    Membre chevronné Avatar de pasdechances
    Homme Profil pro
    Alternant, Ingénieur en systèmes Informatiques et Industriels
    Inscrit en
    Septembre 2015
    Messages
    218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Alternant, Ingénieur en systèmes Informatiques et Industriels
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2015
    Messages : 218
    Par défaut
    Bonjour,
    pour répondre à ta demande il y a trois solutions :

    1) ouvrir une fenetre de requete pour choisir l'emplacement du fichier, se qui me permet de t'orienter vers ce fil
    2) inscrire tout les chemins possible dans ton classeur xD.(totalement inutile, mais possible)
    3) tu peut te servir de la fonction Dir() afin de scaner ton pc et de retrouver le fichier cherché.(extrement long si ton pc à beaucoup de fichier)

  9. #9
    Invité
    Invité(e)
    Par défaut
    bonjour,
    et avec son adresse IP: \\168.192.1.1\FAStime\Technique\Base de données GDT.xlsb?

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

Discussions similaires

  1. Comment ouvrir un fichier excel avec une commande batch ?
    Par Alexandrebox dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 18/03/2010, 13h15
  2. Comment ouvrir un fichier .xla avec excel ?
    Par Australia dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/11/2006, 18h08
  3. Réponses: 3
    Dernier message: 23/09/2006, 15h19
  4. comment ouvrir un fichier XML avec excel
    Par ALCINA dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 24/03/2006, 14h42
  5. ouvrir un fichier Excel avec une requete perso
    Par legillou dans le forum Access
    Réponses: 9
    Dernier message: 21/06/2005, 15h14

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