[Saveas] dans un environnement Onedrive

Bonjour le forum,

Je vous souhaite à tous une belle année 2023 ! Puisse-t-elle être remplie de magnifiques codes VBA

Je me permets de poster ce sujet car je rencontre depuis plusieurs jours un soucis dont je n'arrive pas à trouver la solution.

Le service IT de la société dans laquelle je travaille actuellement à fait passer tous les postes sous Office 365 et le bureau des postes est directement synchronisé avec Onedrive.

Ce qui pose un soucis, non négligeable, concernant l'un de mes principale code VBA. Pour faire simple j'ai un fichier Excel dans lequel j'ai une base de données. A partir de celle-ci un email automatique avec fichier Excel Macro en PJ est envoyé à chaque adresse email précisée. Environ 400 emails sont envoyés via cette méthode. Dans ce fichier Excel l'utilisateur devra compléter un formulaire puis cliquer sur un bouton "Finaliser". Ce qui va automatiquement enregistrer son fichier Excel puis ouvrir Outlook avec ce fichier en PJ complété et me le renvoyer.

Tout fonctionnait parfaitement mais depuis que le bureau est synchronisé Onedrive le code plante au moment d'effectuer un saveas. En effet j'utilise le code suivant :

'ENREGISTRER COPY DU DOCUMENT

Dossier_Database = "DOC FORMULAIRE"

Dossier_Date = Format(CDate(Date), "yyyymmdd")

Fichier_Nom = Feuil1.Range("C7").Value & " - " & Feuil1.Range("C6").Value & ".xlsm"

Chemin = ThisWorkbook.Path

'Vérification que le chemin existe sinon on créé les dossiers en question

If Dir(Chemin & "\" & Dossier_Database, 16) = "" Then MkDir Chemin & "\" & Dossier_Database

If Dir(Chemin & "\" & Dossier_Database & "\" & Dossier_Date, 16) = "" Then MkDir Chemin & "\" & Dossier_Database & "\" & Dossier_Date

ThisWorkbook.SaveCopyAs Chemin & "\" & Dossier_Database & "\" & Dossier_Date & "\" & Fichier_Nom

Le code plante à cause de ma variable "Chemin = Thisworkbook.path". Cet élément me donnait jusqu'à présent le chemin informatique du fichier mais depuis que nous sommes passé sous Onedrive ce chemin informatique s'est transformé en adresse internet... Du coup le code plante au moment d'effectuer le saveas.

Je me suis cresé la tête des heures entières... Impossible d'arriver à choper le chemin informatique alors que ce dernier existe. Via .path, Excel chope l'adresse internet de Onedrive et non le chemin informatique...

Quelqu'un peut-il m'aider ? Comment faire pour forcer le chemin informatique ?

Merci beaucoup !

Rebonjour le forum,

un petit up afin que le topic puisse se retrouver une nouvelle fois en première position.

Si vous avez besoin de plus de détails n'hésitez pas à me le faire savoir merci beaucoup et bonne journée

Bonjour JM_Millequant

Il faudra changer dans votre profil, la version Excel utilisée

Ensuite, je ne comprends pas, car même si vous utilisez OneDrive, le bureau est seulement synchronisé
Vous avez donc forcément un chemin d'accès local du type

C:\Users\Toto\OndDrive

Sinon une autre façon d'avoir le chemin

' Déclaration de la variable qui stockera le chemin d'accès
Dim cheminBureau As String
' Récupération du chemin d'accès du bureau Windows
cheminBureau = CreateObject("WScript.Shell").SpecialFolders("Desktop")

A+

Rechercher des sujets similaires à "saveas environnement onedrive"