IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Copier un fichier du disque dur vers Sharepoint


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2019
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Copier un fichier du disque dur vers Sharepoint
    Bonjour à tous,

    Je cherche un vain un code VBA qui permet de copier un fichier csv que j'ai sur mon poste vers un sharepoint online.

    Est-ce que quelqu'un a déjà fait ce genre de chose ?

    Merci de votre aide,

    Bonne soirée

  2. #2
    Membre éprouvé
    Inscrit en
    Décembre 2002
    Messages
    798
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 798
    Points : 1 257
    Points
    1 257
    Par défaut
    Bonjour, peut-être une piste par ici: https://www.developpez.net/forums/d1...harepoint-vba/

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2019
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Franc Voir le message
    Bonjour, peut-être une piste par ici: https://www.developpez.net/forums/d1...harepoint-vba/
    Bonjour Franc,

    j'ai déjà vu ce topic mais j'ai pas réussi à mettre en place ...

  4. #4
    Membre éprouvé
    Inscrit en
    Décembre 2002
    Messages
    798
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 798
    Points : 1 257
    Points
    1 257
    Par défaut
    Essaie ce code (non testé):

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub CopierVersSharePoint()
        Dim objFSO As Object
        Dim objFile As Object
        Dim objNetwork As Object
        Dim strSourcePath As String
        Dim strDestinationURL As String
     
        ' Chemin du fichier source sur votre poste
        strSourcePath = "C:\Chemin\vers\votre\fichier.csv"
     
        ' URL du dossier SharePoint de destination
        strDestinationURL = "https://nomdevotresharepoint.com/sites/votresite/DocumentLibrary/"
     
        ' Créer une instance de l'objet FileSystemObject
        Set objFSO = CreateObject("Scripting.FileSystemObject")
     
        ' Vérifier si le fichier source existe
        If objFSO.FileExists(strSourcePath) Then
            ' Créer une instance de l'objet File
            Set objFile = objFSO.GetFile(strSourcePath)
     
            ' Créer une instance de l'objet Network
            Set objNetwork = CreateObject("WScript.Network")
     
            ' Copier le fichier vers SharePoint
            objNetwork.MapNetworkDrive "Z:", strDestinationURL
            FileCopy strSourcePath, "Z:\" & objFile.Name
            objNetwork.RemoveNetworkDrive "Z:"
     
            ' Afficher un message de succès
            MsgBox "Le fichier a été copié avec succès vers SharePoint.", vbInformation
        Else
            ' Afficher un message d'erreur si le fichier source n'existe pas
            MsgBox "Le fichier source n'a pas été trouvé.", vbExclamation
        End If
     
        ' Libérer les objets
        Set objFSO = Nothing
        Set objFile = Nothing
        Set objNetwork = Nothing
    End Sub

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2019
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Franc Voir le message
    Essaie ce code (non testé):

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub CopierVersSharePoint()
        Dim objFSO As Object
        Dim objFile As Object
        Dim objNetwork As Object
        Dim strSourcePath As String
        Dim strDestinationURL As String
     
        ' Chemin du fichier source sur votre poste
        strSourcePath = "C:\Chemin\vers\votre\fichier.csv"
     
        ' URL du dossier SharePoint de destination
        strDestinationURL = "https://nomdevotresharepoint.com/sites/votresite/DocumentLibrary/"
     
        ' Créer une instance de l'objet FileSystemObject
        Set objFSO = CreateObject("Scripting.FileSystemObject")
     
        ' Vérifier si le fichier source existe
        If objFSO.FileExists(strSourcePath) Then
            ' Créer une instance de l'objet File
            Set objFile = objFSO.GetFile(strSourcePath)
     
            ' Créer une instance de l'objet Network
            Set objNetwork = CreateObject("WScript.Network")
     
            ' Copier le fichier vers SharePoint
            objNetwork.MapNetworkDrive "Z:", strDestinationURL
            FileCopy strSourcePath, "Z:\" & objFile.Name
            objNetwork.RemoveNetworkDrive "Z:"
     
            ' Afficher un message de succès
            MsgBox "Le fichier a été copié avec succès vers SharePoint.", vbInformation
        Else
            ' Afficher un message d'erreur si le fichier source n'existe pas
            MsgBox "Le fichier source n'a pas été trouvé.", vbExclamation
        End If
     
        ' Libérer les objets
        Set objFSO = Nothing
        Set objFile = Nothing
        Set objNetwork = Nothing
    End Sub
    Hello Franc,

    j'ai testé mais j'ai une erreur sur cette ligne et je ne sais pas la résoudre..

    > objNetwork.MapNetworkDrive "V:", strDestinationURL

    ça me met que j'ai une erreur sur l'authentification.

  6. #6
    Membre éprouvé
    Inscrit en
    Décembre 2002
    Messages
    798
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 798
    Points : 1 257
    Points
    1 257
    Par défaut
    A tester:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Sub CopierVersSharePoint()
        Dim objFSO As Object
        Dim objFile As Object
        Dim objIE As Object
        Dim strSourcePath As String
        Dim strDestinationURL As String
        Dim strUsername As String
        Dim strPassword As String
     
        ' Chemin du fichier source sur votre poste
        strSourcePath = "C:\Chemin\vers\votre\fichier.csv"
     
        ' URL du dossier SharePoint de destination
        strDestinationURL = "https://nomdevotresharepoint.com/sites/votresite/DocumentLibrary/"
     
        ' Identifiants d'authentification pour SharePoint
        strUsername = "votre_nom_d_utilisateur"
        strPassword = "votre_mot_de_passe"
     
        ' Créer une instance de l'objet FileSystemObject
        Set objFSO = CreateObject("Scripting.FileSystemObject")
     
        ' Vérifier si le fichier source existe
        If objFSO.FileExists(strSourcePath) Then
            ' Créer une instance de l'objet File
            Set objFile = objFSO.GetFile(strSourcePath)
     
            ' Créer une instance de l'objet InternetExplorer
            Set objIE = CreateObject("InternetExplorer.Application")
     
            ' Ouvrir Internet Explorer en mode invisible
            objIE.Visible = False
     
            ' Naviguer vers le dossier SharePoint
            objIE.Navigate strDestinationURL
     
            ' Attendre que la page se charge complètement
            Do While objIE.Busy Or objIE.ReadyState <> 4
                Application.Wait Now + TimeValue("0:00:01")
            Loop
     
            ' Remplir le formulaire de connexion avec les identifiants
            objIE.Document.getElementById("username").Value = strUsername
            objIE.Document.getElementById("password").Value = strPassword
     
            ' Soumettre le formulaire de connexion
            objIE.Document.getElementById("loginButton").Click
     
            ' Attendre que la page se charge complètement après la connexion
            Do While objIE.Busy Or objIE.ReadyState <> 4
                Application.Wait Now + TimeValue("0:00:01")
            Loop
     
            ' Copier le fichier vers SharePoint
            objFSO.CopyFile strSourcePath, objIE.Document.getElementById("uploadInput").Value
     
            ' Fermer Internet Explorer
            objIE.Quit
     
            ' Afficher un message de succès
            MsgBox "Le fichier a été copié avec succès vers SharePoint.", vbInformation
        Else
            ' Afficher un message d'erreur si le fichier source n'existe pas
            MsgBox "Le fichier source n'a pas été trouvé.", vbExclamation
        End If
     
        ' Libérer les objets
        Set objFSO = Nothing
        Set objFile = Nothing
        Set objIE = Nothing
    End Sub
    Le problème ne vient pas de la macro mais des autorisations d'accès.
    J'utilise l'objet InternetExplorer pour naviguer vers le dossier SharePoint de destination et remplir le formulaire de connexion avec les identifiants fournis.
    Ensuite, on attend que la page se charge complètement après la connexion. Ensuite, on copie le fichier vers SharePoint en utilisant l'objet FileSystemObject.
    Ne pas oublier de modifier les variables strSourcePath, strDestinationURL

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2019
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par Franc Voir le message
    A tester:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    Sub CopierVersSharePoint()
        Dim objFSO As Object
        Dim objFile As Object
        Dim objIE As Object
        Dim strSourcePath As String
        Dim strDestinationURL As String
        Dim strUsername As String
        Dim strPassword As String
     
        ' Chemin du fichier source sur votre poste
        strSourcePath = "C:\Chemin\vers\votre\fichier.csv"
     
        ' URL du dossier SharePoint de destination
        strDestinationURL = "https://nomdevotresharepoint.com/sites/votresite/DocumentLibrary/"
     
        ' Identifiants d'authentification pour SharePoint
        strUsername = "votre_nom_d_utilisateur"
        strPassword = "votre_mot_de_passe"
     
        ' Créer une instance de l'objet FileSystemObject
        Set objFSO = CreateObject("Scripting.FileSystemObject")
     
        ' Vérifier si le fichier source existe
        If objFSO.FileExists(strSourcePath) Then
            ' Créer une instance de l'objet File
            Set objFile = objFSO.GetFile(strSourcePath)
     
            ' Créer une instance de l'objet InternetExplorer
            Set objIE = CreateObject("InternetExplorer.Application")
     
            ' Ouvrir Internet Explorer en mode invisible
            objIE.Visible = False
     
            ' Naviguer vers le dossier SharePoint
            objIE.Navigate strDestinationURL
     
            ' Attendre que la page se charge complètement
            Do While objIE.Busy Or objIE.ReadyState <> 4
                Application.Wait Now + TimeValue("0:00:01")
            Loop
     
            ' Remplir le formulaire de connexion avec les identifiants
            objIE.Document.getElementById("username").Value = strUsername
            objIE.Document.getElementById("password").Value = strPassword
     
            ' Soumettre le formulaire de connexion
            objIE.Document.getElementById("loginButton").Click
     
            ' Attendre que la page se charge complètement après la connexion
            Do While objIE.Busy Or objIE.ReadyState <> 4
                Application.Wait Now + TimeValue("0:00:01")
            Loop
     
            ' Copier le fichier vers SharePoint
            objFSO.CopyFile strSourcePath, objIE.Document.getElementById("uploadInput").Value
     
            ' Fermer Internet Explorer
            objIE.Quit
     
            ' Afficher un message de succès
            MsgBox "Le fichier a été copié avec succès vers SharePoint.", vbInformation
        Else
            ' Afficher un message d'erreur si le fichier source n'existe pas
            MsgBox "Le fichier source n'a pas été trouvé.", vbExclamation
        End If
     
        ' Libérer les objets
        Set objFSO = Nothing
        Set objFile = Nothing
        Set objIE = Nothing
    End Sub
    Le problème ne vient pas de la macro mais des autorisations d'accès.
    J'utilise l'objet InternetExplorer pour naviguer vers le dossier SharePoint de destination et remplir le formulaire de connexion avec les identifiants fournis.
    Ensuite, on attend que la page se charge complètement après la connexion. Ensuite, on copie le fichier vers SharePoint en utilisant l'objet FileSystemObject.
    Ne pas oublier de modifier les variables strSourcePath, strDestinationURL
    Franc,

    ça a l'air pas mal mais je ne peux plus utiliser IE qui est obsolète dans l'entreprise mais Edge ... Je vais essayer d'adapter le code

Discussions similaires

  1. Copier un fichier d'un dossier vers un autre
    Par rvaysse dans le forum VB.NET
    Réponses: 10
    Dernier message: 13/08/2007, 15h33
  2. Réponses: 3
    Dernier message: 20/11/2006, 17h48
  3. Copier arborescence d'un disque dur
    Par soad029 dans le forum Administration système
    Réponses: 2
    Dernier message: 15/05/2006, 15h02
  4. Recuperer tous les fichiers du disque dur
    Par godik dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 04/10/2005, 20h18
  5. copier un fichier du disque dur dans la ram
    Par orichimaru dans le forum C++
    Réponses: 9
    Dernier message: 29/11/2004, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo