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 :
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 !
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
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.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
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 !