Excel macro, centralisation des données de plusieurs classeurs

[Résolu/Fermé]
Signaler
-
 Claire -
Bonjour,

Je souhaite regrouper les données de plusieurs classeur excel dans un même classeur. Tous les fichiers sont dans le même dossier, ils sont tous fait de la même manière. Je souhaite par exemple recupéré les données des cellules A2 et A5 de tous les fichiers sur la premiére page qui s'appelle "Dashboard to fill".
Je ne sais pas combien il y aura de classeur dans le dossier, nous créons un classeur à chaque fois que nous réalisons une formation. Les classeurs portent le nom "Workshop dashboard puis le nom de la formation et la date". Le nom de la formation et la date changerons donc pour chaque classeurs. Tous les classeurs sont dans le même dossier.
Ce dossier est sur la plateforme Onedrive de l'équipe pour laquelle je travaille. http://.....SharePoint/...

Je sais codé en Macro la boucle qui permet de récuperer les informations de classeur se trouvant sur dans un même dossier sur mon bureau, mais lorsque je l'utilise pour le dossier en ligne cela ne fonctionne pas.

Option Explicit

Sub En_revue()

Dim Fichier_traité As String, k As Integer
Dim Chemin As String, LigneVide As Integer

Application.ScreenUpdating = False
Range("A2:C65000").ClearContents

Chemin = ThisWorkbook.Path & "\"
Fichier_traité = Dir(Chemin & "*.xlsm")

Do While Fichier_traité <> ""
If Fichier_traité = ThisWorkbook.Name Then GoTo Etiquette
Workbooks.Open Chemin & Fichier_traité
LigneVide = ThisWorkbook.Sheets("Sheet1").Range("A65000").End(xlUp).Row+1
ThisWorkbook.Sheets("Sheet1").Range("A" & LigneVide) = Range("A2")
ThisWorkbook.Sheets("Sheet1").Range("B" & LigneVide) = Range("A5")
ThisWorkbook.Sheets("Sheet1").Range("C" & LigneVide) = Range("AE" & Range("AE65000").End(xlUp).Row)
ThisWorkbook.Sheets("Sheet1").Range("C" & LigneVide) = Fichier_traité

Workbooks(Fichier_traité).Close False
Etiquette:

Fichier_traité = Dir
Loop

End Sub

Quand je l'utilise avec un dossier du OneDrive il trouve une erreur dans cette partie, même si je rentre l'adresse IP du site dans Chemin = il ne veut pas.
Fichier_traité = Dir(Chemin & "*.xlsm")

Avez vous une solution? Savez vous si c'est possible?
N'hésitez pas si vous avez des questions.

J'utilise la dernière version de Microsoft.
Merci

1 réponse

Messages postés
1953
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
12 août 2021
151
Bonjour,

cf. https://www.developpez.net/forums/d1439714/dotnet/general-dotnet/developpement-office-system/sharepoint/developpement-sharepoint/verifier-vba-presence-d-fichier-d-dossier-sharepoint/

As-tu essayé de connecter l'espace SharePoint en tant que lecteur réseau (ex : Y: ; un "dir Y:" en invite de commande DOS devrait t'indiquer si c'est faisable ou non) ?
Ca marche mais le dossier et les fichiers sont utilisés depuis plusieurs ordinateurs, et doivent être accessible depuis n'importe ou et par n'importe qui de l'équipe, je ne peux pas programmer tous les ordinateurs, comme ça. J'ai besoin d'une astuce qui soit uniquement codé, tu vois?
Messages postés
1953
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
12 août 2021
151
Super Ca marche,
J'ai juste encore une dernière question comment je peux codé une déconnexion du lecteur réseau,
J'ai pas des collégues trés doués en informatique et moins il y a des trucs inconnus sur leur ordi moins c'est dangereux pour la perte et le mélange d'info.
J'ai fait apparaitre mon dossier dans les connexion réseau comment je peux l'enlever? tu comprends ma question?
Merci
Messages postés
1953
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
12 août 2021
151
Merci beaucoup tout fonctionne comme je voulais!
A bientôt