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

VBA Discussion :

Lister-ouvrir-lire-enregistrer fichier .xls sur one drive


Sujet :

VBA

  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2018
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Philippines

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2018
    Messages : 73
    Par défaut 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 : 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
        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

  2. #2
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    pour naviguer dans les dossiers allégrement il faut utiliser les FileDialog

    voici un exemple vite fait


    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
        'ouverture d'un fichier par boite FileDialog
    '********************************************************************************
        'Declaration d'une variable comme objet FileDialog
        Dim fd As FileDialog
     
        'Creation d'un objet FileDialog comme un File Picker dialog box.
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
     
        'Déclaration d'une variable contenant le "path" de style variant
        Dim vrtSelectedItem As Variant 'obligatoirement de type variant
     
        With fd
     
            '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 = "\\Serv.com\Consultation\Donnees_techniques\LOG"
     
            '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
     
               'Dans le cas d'ue plusieurs saisies
                 'Step through each string in the FileDialogSelectedItems collection.
                For Each vrtSelectedItem In .SelectedItems
     
                    'vrtSelectedItem est un String contenant le "path"  de chaque item selectionné.
                    'affichage du "PATH et du fichier selectionné" dans une boite message
                    'MsgBox "Vous avez sélectionné : " & vrtSelectedItem
                    file_select = vrtSelectedItem
                Next vrtSelectedItem
     
            'Au cas ou l'utilisateur appuis sur Cancel...
            Else
                'Dans ce programme je ne fais rien.
            End If
        End With

  3. #3
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2018
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Philippines

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2018
    Messages : 73
    Par défaut 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

  4. #4
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2018
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Philippines

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2018
    Messages : 73
    Par défaut 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 : 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
     
    ' -------------------------------------------------------------- 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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. enregistrer fichier xls sur ftp
    Par timtof2011 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/11/2011, 08h22
  2. Lire une fichier XLS sans excel
    Par petitcoucou31 dans le forum API, COM et SDKs
    Réponses: 10
    Dernier message: 06/10/2008, 15h03
  3. Réponses: 1
    Dernier message: 02/05/2007, 09h22
  4. Comment empêcher users d'enregistrer fichiers lourds sur bureau
    Par kikica dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 14/10/2005, 15h24
  5. Réponses: 5
    Dernier message: 11/01/2004, 20h17

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