Bonjour,
Je dois réaliser en tant que mission de stage un outil qui sera hébergé sur un site internet géré avec SharePoint. L'outil est un fichier Excel exécutant du code Vba. Cet outil permet de sauvegarder puis utiliser des fichiers (sous format Word/Excel) sur SharePoint.
Tout cela marche bien. Sauf qu’au début je faisais les sauvegardes en local et une fois que j'ai mis en place tout le dispositif pour prendre en charge SharePoint (donc sauvegarde et chargement de fichier sur le serveur) divers complications sont arrivées. La plupart on été corrigée sauf une:
La méthode permettant de vérifier si un ficher existe ou pas (pour ensuite le créer ou le charger) ne fonctionne plus. Le programme ne digère plus le fameux Dir. Depuis j'ai utilisé FileExists mais celui-ci me dit tout le temps que mon fichier n'existe pas même quand il existe ... Puis j'ai trouvé une autre solution sur internet qui cette fois-ci fait le contraire, elle me dit tout le temps qu'il existe même quand c’est faux (vous trouverez au bas de ce poste le code source des deux dernière méthodes).
Bref après de longue recherche sur internet je n’ai pas trouvé de solution. J'ai décidé de me lancer dans la gestion des erreurs en me disant que s'il y a une erreur lors de l’ouverture du fichier c'est que le fichier n'existe pas.
Donc j'ai fais ça:
Cependant mon problème est que l'Open génère un message d'erreur (même si l'exécution continu, j'ai "Impossible d'ouvrir "....""). Et vu que cette méthode est appelée plusieurs fois avec des chemins d'accès différent, j'ai parfois un enchaine ment d'une dizaine de message d'erreur!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 On Error GoTo Erreur: Set wb = Workbooks.Open(szFilePath) ... ... ... Erreur: ...
Ma question est donc comment faire pour "zapper" ce message d'erreur, ne pas l'afficher?
Si quelqu'un à une idée concernant le problème de la vérification de la disponibilité des fichiers, voici le code:
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 Public Function SharePointFile(sFile As String) As Boolean Dim HTML As HTMLDocument Dim tHTML As HTMLDocument Set tHTML = New HTMLDocument Set HTML = tHTML.createDocumentFromUrl(sFile, vbNullString) Do While HTML.readyState <> "complete" DoEvents Loop If InStr(LCase(HTML.Title), "not found") Then SharePointFile = False Else SharePointFile = True End If Set HTML = Nothing Set tHTML = Nothing ''''''''''''''''''''''''''''''''''''''''''''''''''''''DEUXIEME METHODE ' Dim fso As Object ' Set fso = CreateObject("Scripting.FileSystemObject") ' If fso.FileExists(sFile) Then SharePointFile = True '' If fso.FileExists("https://village.axa-fr.intraxa/AXA-Ent/IARD/IDF/PrAuto/CRT/GestConservation/DB/3600016198.xls") Then SharePointFile = True ''''''''''''''''''''''''''''''''''''''''' End Function
Merci!
Partager