Ouvrir un fichier Excel sur internet avec une fonction VBA

Bonjour,

Je souhaite ouvrir un fichier Excel (Data) situé sur l'intranet de mon entreprise. Je souhaite prendre des données sur ce fichier (Data) pour les mettre sur un autre fichier Excel(Interface) qui se situe sur mon espace local et refermer le fichier (Data).

Aujourd'hui, je suis dans l'obligation de télécharger le fichier sur mon espace personnel à chaque fois qu'il a été modifier pour mettre à jour mon fichier (Interface).

Ci-dessous mon code permettant d'ouvrir mon fichier (Data) depuis mon espace perso :

Sub OuvrirDatatest()

' VARIABLE, chemin du fichier (rajouter le "\" à la fin)
Chemin = "\\public\dfs\donnees\metiers\TEID\400-TEID1_Production_Engineering\"

' VARIABLE, Nom du fichier (doit finir par .xlsx)
NomFichier = "N80_PdM_global_V9.5.xlsx"

' INDICATION VISUELLE, Chemin et/ou nom du fichier PDM (DATA) introuvable. Vérifier si tous les éléments sont présents !  "\" (Variable Chemin) et ".xlsx" (VAriable NomFichier)
If Dir(Chemin & NomFichier) = "" Then
    MsgBox "Fichier introuvable !" & vbLf & vbLf & "Vérifiez la connexion au réseau.", vbCritical, "Procédure avortée"
    Exit Sub
End If

' INDICATION VISUEL,  lancement ou non de la macro
MsgBox "Le traitement des données peut prendre un moment merci de patienter", vbInformation, "Il est temps de prendre un café non ?"

' VARIABLE, Titres du fichier "PDM"
tSource = Array("Codification", "Equipment   Level 1", "Equipment level 2", "Equipment level 3", "Equipment  Level 4", "Equipment level 5", "Equipment level 6", "Equipment Definition file reference 2", "Rationale")

' VARIABLE, Titre du fichier "Interface"
tDest = Array("Codification", "Equipment Level 1", "Equipment Level 2", "Equipment Level 3", "Equipment Level 4", "Equipment Level 5", "Equipment Level 6", "Equipment Definition file reference 2", "Rationale")

' VARIABLE,wsDest = Fichier Interface
Set wsDest = ThisWorkbook.Worksheets("DATA") '

'!! DEBUT DU CODE !!
':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

On Error GoTo fin
' Ouverture du fichier data en lecture seule et annulation du message de mise à jour (messages d'erreurs)
With Workbooks.Open(FILENAME:=Chemin & NomFichier, ReadOnly:=True, UpdateLinks:=0)
    With .Worksheets("PdM") ' Data Base = PDM. Le "PdM" correspond au titre de la page. il doit obligatoirement s'écrire pareil (Majuscule comprise)!!
        NBL = .Range("Tableau1").Rows.Count ' VARIABLE, Séléction du "Tableau1" qui correspond au tablau de la page PdM du fichier N80_PdM_global
        For i = LBound(tDest) To UBound(tDest)
            wsDest.Range("Tableau3[" & tDest(i) & "]").Resize(NBL, 1).Value = .Range("Tableau1[" & tSource(i) & "]").Value
        Next i
    End With
    .Close False
End With

':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
' !! FIN DU CODE !!

Exit Sub

' INDICATION VISUELLE,
fin:
MsgBox "Vérifiez que le fichier n'est pas ouvert avant d'exécuter la macro", vbCritical, "Procédure avortée"

End Sub

Je vous remercie d'avance pour votre temps et votre participation à la résolution de mon problème.

Bonne journée.

Bonjour, le chemin en vba ne sera pas correcte il me semble.

Le plus simple puisque votre fichier est sur un intranet c'est de créer une "Lettre de lecteur reseau" vers ce serveur interne.

Poste de travail / Connecter un lecteur réseau / vous choisissez une Lette non utilisée ( exemple Z: ) puis vous indiquer l'adresse sur le serveur.

Vous pourrez ensuite utiliser cette lettre dans vos codes vba pour les chemins ( comme vous le faites avec les adresses C:\users\..... )

Bonjour Xmenpl,

Finalement en touchant un peu a tout j'ai trouvé une solution. Elle fonctionne !!

En fait, le problème venais de cette partie du code :

' INDICATION VISUELLE, Chemin et/ou nom du fichier PDM (DATA) introuvable. Vérifier si tous les éléments sont présents !  "\" (Variable Chemin) et ".xlsx" (VAriable NomFichier)
If Dir(Chemin & NomFichier) = "" Then
    MsgBox "Fichier introuvable !" & vbLf & vbLf & "Vérifiez la connexion au réseau.", vbCritical, "Procédure avortée"
    Exit Sub
End If

Je l'ai simplement supprimée.

Mais merci pour votre aide :) !

Rechercher des sujets similaires à "ouvrir fichier internet fonction vba"