Copie d'un fichier de Sharepoint en le renomant

DomDI_85250 Messages postés 6 Statut Membre -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai préparé un fichier avec macro en local, pas de soucis, tout fonctionne.
Voici un extrait de la macro :

Dim Chemi As String
Dim CheminS1 As String
Dim CheminS2 As String
Dim FeSem As String
Dim FeSemP1 As String

FeSem = "S" & Format(Now(), "ww", vbMonday, vbFirstFourDays) + 1
FeSemP1 = "S" & Format(Now(), "ww", vbMonday, vbFirstFourDays) + 2

Chemi = Workbooks(ActiveWorkbook.Name).Path & "\"
CheminS1 = Chemi & FeSem & ".xlsm"
CheminS2 = Chemi & FeSemP1 & ".xlsm"
FileCopy CheminS1, CheminS2


Je suis maintenant obligé de le mettre sur un OneDrive pro, donc connecté à Sharepoint.
J'ai donc changé une ligne :
Chemi = Workbooks(ActiveWorkbook.Name).Path & "\"

j'ai mis :
Chemi = Workbooks(ActiveWorkbook.Name).Path & "/"</


Cela ne fonctionne pas :
"Erreur d'exécution '52' :
Nom du numéro de fichier incorrect

Si je remplace
Chemi = Workbooks(ActiveWorkbook.Name).Path & "/"

par Chemi="D:\OneDrive - MonDrive\Documents Pro\Clients\....
cela fonctionne, mais le problème est que ce fichier doit servir sur différents postes donc il faut bien que j'utilise Workbooks(ActiveWorkbook.Name).Path

J'ai essayé

Dim FSO As Object
Set FSO = CreateObject("scripting.filesystemobject")
FSO.copyfolder Source:=CheminS1, Destination:=CheminS2

même message d'erreure

Si je mets
Workbooks.Open (CheminS1)
mon fichier s'ouvre bien

j'ai également essayé de remplacer mon CheinS2 par :

CheminS2 = Mid(Chemi, 7) & FeSemP1 & ".xlsm"
CheminS2 = Replace(CheminS2, "/", "\")


J'ai bien le résultat voulu :
'\\MonSite-my.sharepoint.com\personal\mon_identifiant\emplacement_du_dossier\sous_dossier....

Mais toujours même erreur

Est ce que quelqu'un aurait une idée pour la solution ?

Merci d'avance et bonne journée

6 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    es-tu certain du message d'erreur: "Nom du numéro de fichier incorrect"?
    c'est bien de montrer un code qui ne fonctionne pas.
    c'est mieux d'expliquer ce que tu veux réaliser.

    où va se trouver le fichier local sur les autres postes? comment sera-t-il ouvert, à partir de quel endroit (le dossier local OneDrive?)?

    c'est bien le fichier contenant la macro que tu veux copier? utilise alors
    thisworkbook.path
    .
    ne penses-tu pas utile de nous montrer ce que retourne
    thisworkbook.path
    ?

    as-tu envisagé de faire "save as" au lieu d'une copie?
    0
  2. DomDI_85250 Messages postés 6 Statut Membre
     
    Pour le message, j'en suis certain.

    Toutes les semaines, 8 nouveaux fichiers vont être créés (avec le numéro de semaine à l'intérieur du nom).
    Le dossier sera dans un onedrive local mais partagé avec les autres colaborateurs (là ce n'est pas moi qui m'occupe de la partie OneDrive)
    et ce n'est pas le fichier qui contient la macro qui est copié.

    Workbooks(ActiveWorkbook.Name).Path & "/" retourne bien htpps://Monserveur-my.sharepoint.com/personal/....

    Mais comme je le disais dans mon premier message, je le transforme ensuite en
    CheminS2 = Mid(Chemi, 7) & FeSemP1 & ".xlsm"
    CheminS2 = Replace(CheminS2, "/", "\")
    pour enlever le htpps:
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      je ne comprends pas pourquoi tu obtiens un chemin https alors que tu as ouvert le fichier à partir d'un dossier OneDrive local.
      0
  3. DomDI_85250 Messages postés 6 Statut Membre
     
    Et j'ai bien pensé au SaveAs mais je préfèrerai faire une copie, cela éviterai d'ouvrir tout les fichiers inutilement
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. DomDI_85250 Messages postés 6 Statut Membre
     
    Je ne savais pas que les 2 forums étaient liés
    Désolé
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      les forums ne sont pas du tout liés.
      trouves-tu respectueux de nous demander de l'aide sans nous informer que tu en as demandé ailleurs?
      0
  6. DomDI_85250 Messages postés 6 Statut Membre
     
    Bonjour,

    Pour info, le
    thisworkbook.path
    obtient le même résultat que
    Workbooks(ActiveWorkbook.Name).Path
    c'est à dire une adresse https://

    Pour l'instant, j'ai contourné le problème :
    Dans une feuille Paramêtres qui existait déjà, j'ai créé un tableau avec un nom d'utilisateur, nom PC et chemin local.
    Avant toute première utilisation sur un nouveau poste, les collaborateurs devrons renseigner ses 3 colonnes (Nom Ordi et nom utilisateur par une petite macro)
    Ensuite, lors de la création des fichiers, la macro va chercher l'info nécessaire dans ce tableau.
    C'est une solution un peu plus contraignante mais qui fonctionne en attendant de trouver la solution.

    Bonne journée
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      je ne comprends pas pourquoi tu obtiens un chemin https alors que tu as ouvert le fichier à partir d'un dossier OneDrive local.
      0