Lister-ouvrir-lire-enregistrer fichier .xls sur one drive
Bonjour a tous,
D'abord merci d'etre une mine inepuisable de savoir, astuces, conseils sur le codage.
Malgrè plusieurs recherche je n'ai pas ou su comment trouver la reponse à ma question.
A partir d'un xlsm "maitre" qui est positionné sur onedrive dans un repertoire partagé je dois aller recupérer des noms de fichiers (changeant en fonction du jour) pour initialiser mes traitements de fusion epuration classification
J'ai donc dans mon arborescence https://d.docs.live.net/xxxxxxxxxxxxx/repertoire/sous repertoire
Sans avoir obligation de synchroniser sur le disque dur local, je voudrais
1- pouvoir "naviguer" avec ma macro dans le sous repertoire et acceder a 2 sous sous repertoire pour configurer les chemins d'acces et recuperer les noms de fichier changeant mais ayant un debut de nom standard
pour pouvoir ls ouvrir, les lire, et les refermer
2- qu'un utilisateur "lambda" ayant le partage autorisé puisse acceder a mon xlms pour lancer les procedures,
3- tous les utilisateurs qui ont accès au dossier partagé peuvent modifier ==> il faut que je puisse mettre en variable le code de profil
structure :
Repertoire
sous repertoire
Ficher Macro
Sous sous repertoire (export source) contient plusieurs xls porteur des donnees a traiter
Sond_jjmmaaaa
MG_c_jjmmaaaa
Auto_jjmmaaaa
sous sous repertoire (import pour cible) contient un fichier CSV pour etre importer par l application cible
mon code
Je recupere bien le chemin, nom du fichier maitre, je cree bien le chemin des sous repertoires "https://d.docs.live.net/xxxxxxxxxxxx/repertoir/sous_repertoire/FU_import" en dernier le repertoire a struceter pour recuperer les noms de fichier
je precise que si j'utilise url dans un navigateur j'accede parfaitement au sous sous repertoire t que je cois mes fichiers que j'y accede et que onedrive les ouvre dans une nouvelle fenetre
Mais j ai un code retour 52
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Fu_chemin = ActiveWorkbook.Path
Fu_Nom_Fichier = ActiveWorkbook.Name
FU_import = Fu_chemin & "/FU_import"
AREP_Export = Fu_chemin & "/AREP_Export"
'''''''''''''''''''''
L_Ligne = L_Ligne + 1
Fichier = Dir(FU_import)
Do While Fichier <> ""
If Left(Fichier, 4) = "MG_c" Then
MG_Nom_Fichier = Fichier
End If
If Left(Fichier, 4) = "Sond" Then
FB_Nom_Fichier = Fichier
End If
If Left(Fichier, 4) = "Auto" Then
Wil_Nom_Fichier = Fichier
End If
L_Ligne = L_Ligne + 1
Fichier = Dir
Loop |
Merci je vais tester cela
merci pour le tuyau,
pour mes test en attendant j'utilise ma synchro avec le disque dur, ensuite je vais tester cela.... mais cela dépasse un peu mes compétences.
en attendant pour mes tests j
UM GROSSSSS MERCI cela fonctionne a la perfection !
Bonjour
avec quelques jours... de retard, j ai repris tes conseils pour une autre application et UN GROS MERCI.
pour repondre a mon besoin de selectionner plusieurs fichiers et de pouvoir les mettre en reserve pour les traitement
j'ai modifier le code comme suit et c 'est parfait.
je recupere la totalite de mon chemin et nom de fichier
Code:
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
|
' -------------------------------------------------------------- initialisation des fichiers import et export
Entrepot_Imp_Rep = Entrepot_Rep & "\Import\"
Entrepot_Imp_Lchaine = Len(Entrepot_Imp_Rep)
Entrepot_Exp_Rep = Entrepot_Rep & "\Export\"
'ouverture d'un fichier par boite FileDialog
'********************************************************************************
'Creation d'un objet FileDialog comme un File Picker dialog box.
Set Fic = Application.FileDialog(msoFileDialogFilePicker)
With Fic
'donner le Path initial lors de l'affichage de la boite filedialog.
'Cela permet d'arriver directement sur le repertoire addéquat
'.InitialFileName = "D:\Travail_tempo\Bons\Remises\"
.InitialFileName = Entrepot_Imp_Rep
'Utilisation de la méthode show pour afficher le File Picker de la boite de dialogue et
' retourne la valeur de l'action de l'utililisateur.
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem est un String contenant le "path" de chaque item selectionné.
file_select = vrtSelectedItem
If Mid(file_select, Entrepot_Imp_Lchaine + 1, 7) = "Fic_Cus" Then
Fic_Customer_N = file_select
End If
If Mid(file_select, Entrepot_Imp_Lchaine + 1, 7) = "Musique" Then
FB_Leads_N = file_select
End If
If Mid(file_select, Entrepot_Imp_Lchaine + 1, 7) = "Tab_adr" Then
Tab_adress_N = file_select
End If
If Mid(file_select, Entrepot_Imp_Lchaine + 1, 11) = "Tab_jeux_FB" Then
Tab_jeux_FB_N = file_select
End If
If Mid(file_select, Entrepot_Imp_Lchaine + 1, 11) = "Tab_jeux_MG" Then
Tab_jeux_MG_N = file_select
End If
Next vrtSelectedItem
'Au cas ou l'utilisateur appuis sur Cancel...
Else
MsgBox ("ANNULE PAR L'OPERATEUR")
End If
End With |