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 :

Parcours de fichiers dans un dossier [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Parcours de fichiers dans un dossier
    Bonjour j'ai un problème sur une macro que je bidouille depuis un certains temps.
    Voici le concept général :
    -on va chercher dans une arborescence générale des types de fichiers (préfixe-nomClient-DPT-...-x.pdf) et on les FileCopy dans un dossier destination
    -En regardant le préfixe de ces types de docs on va créer les chemins pour pouvoir récuperer les fichiers.

    Le problème c'est que je n'arrive pas à parcourir tout mes fichiers types. Lorsque je clique sur mon bouton il arrive à effectuer l'action sur le premier fichier mais pas sur les suivants.
    Je me suis renseigné et j'ai utilisé

    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
    Do While NomFich <> ""
     
    ''''multitude de if pour trouver le bon chemin en fonction du préfixe
     
    NomFich2 = Mid(NomFich, InStrRev(NomFich, "-") + 1)  'permet de récuperer que la fin du nom du fichier
     
    NomFich3 = Dir(chemin & "*-" & NomFich2) 'on va chercher le fichiers existant dans l'arborescence 
     
    If Len(NomFich3) > 0 Then
                        FileCopy chemin & NomFich3, Destination & NomFich3 'je copie le fichier trouvé dans mon dossier destination
                Else
                        MsgBox ("Le fichier " & NomFich2 & " n'existe pas")
                End If
     
            NomFich = Dir  'est censé me permettre de passer au fichier suivant
     
        Loop

    Le NomFich = Dir est censé me faire passer au fichier d'après pour faire une boucle cependant il semblerait qu'il ne marche pas vu que je ne peux copier que le premier fichier et pas tout les autres (je précise que ces fichiers existent bien et que je n'ai pas de messages d'erreur type "fichier inexistants" ou autre)

    Merci d'avance pour votre aide

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour;
    Pour parcourir un répertoire, j'utilise la fonction Dir que j'ai intégrée dans une fonction nommée FileList qui me renvoie un tableau avec les fichiers trouvés
    Code de la fonction
    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
    Function FileList(ByVal LookUpFullName As String) As Variant
      ' Renvoie une liste avec les fichiers présents dans le répertoire définit pas l'argument LookUpFullName
      ' Author : Philippe Tulliez http://www.magicoffice.be
      ' Arguments
      ' LookUpFullName (String) Répertoire + nom du fichier + extension
      Dim File As String, Counter As Integer, List()
      File = Dir(LookUpFullName)
      ReDim Preserve List(Counter): List(Counter) = File
       Do Until File = ""
        File = Dir
        If Len(File) Then
         Counter = Counter + 1: ReDim Preserve List(Counter)
         List(Counter) = File
        End If
       Loop
      FileList = List
    End Function
    Exemple d'une procédure qui invoque cette fonction
    Dans cet exemple, la procédure affiche tous les fichiers suffixés xlsx se trouvant dans le sous-répertoire nommé Document du répertoire où se trouve la procédure VBA
    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
    Sub t()
      ' Déclaration
      Dim tbl()
      Dim Path As String, Fullname As String
      Dim Elem As Integer, msg As String
      ' Affectation
      Path = ThisWorkbook.Path & "\Document\"
      Fullname = Path & "*.xlsx"
      tbl = FileList(Fullname)
      '
      For Elem = 0 To UBound(tbl)
        msg = msg & vbCrLf & tbl(Elem)
      Next
      MsgBox msg
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut re
    Bonjour Philippe

    J'ai adapté votre code avec le mien et est remplacé les parties
    msg = msg & vbCrLf & tbl(Elem) et MsgBox msg
    par mon code. Cependant j'ai le même problème, aucune action n'est effectué sur les autres fichiers (seul le premier est copié)

    Code :

    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
    Public Sub btnDPT_Click()
     
    'Repère les 3 valeurs de la ListBox
    DPT = DPT_number_clientLB.List(DPT_number_clientLB.ListIndex, 0)
    nbdossier = DPT_number_clientLB.List(DPT_number_clientLB.ListIndex, 1)
    client = DPT_number_clientLB.List(DPT_number_clientLB.ListIndex, 2)
     
    DestinationHG = "C:\Users\alain\Desktop\DATA BASE\HG\"
    Destination = "C:\Users\alain\Desktop\DATA BASE\DATA\"
    DestinationNOTFOUND = "C:\Users\alain\Desktop\DATA BASE\NOT FOUND\"
     
    NomFich = Dir(DestinationHG & "*.pdf")
     
    Dim tbl()
      Dim Path As String, Fullname As String
      Dim Elem As Integer, msg As String
      ' Affectation
      Path = ThisWorkbook.Path & "Destination"
      Fullname = Path & "*.pdf"
      tbl = FileList(Fullname)
      '
      For Elem = 0 To UBound(tbl)
        prefixe2 = Left(NomFich, 2)
        prefixe3 = Left(NomFich, 3)
        prefixe4 = Left(NomFich, 4)
        chemin = "X:\1-DOSSIERS CLIENTS\" & DPT & "\" & client & "-" & DPT & "-" & nbdossier & "\"
     
        If prefixe2 = "DP" Then
                chemin = chemin & "A-DP-" & client & "-" & DPT & "-" & nbdossier & "-Demarches prealables\"
     
        ElseIf prefixe2 = "DV" Then
     
                If prefixe3 = "DV0" Then
                    chemin = chemin & "B-DV-" & client & "-" & DPT & "-" & nbdossier & "-Developpement\" & "DV0-" & client & "-" & DPT & "-" & nbdossier & "-Courriers divers\"
     
                ElseIf prefixe4 = "DV1A" Then
                    chemin = chemin & "B-DV-" & client & "-" & DPT & "-" & nbdossier & "-Developpement\" & "DV1A-" & client & "-" & DPT & "-" & nbdossier & "-Arpentage\"
     
                ElseIf prefixe4 = "DV1-" Then
                    chemin = chemin & "B-DV-" & client & "-" & DPT & "-" & nbdossier & "-Developpement\" & "DV1-" & client & "-" & DPT & "-" & nbdossier & "-Demande de permis de construire\"
     
                ElseIf prefixe3 = "DV2" Then
                    chemin = chemin & "B-DV-" & client & "-" & DPT & "-" & nbdossier & "-Developpement\" & "DV2-" & client & "-" & DPT & "-" & nbdossier & "-Demande de raccordement\"
     
                ElseIf prefixe4 = "DV3" Then
                    chemin = chemin & "B-DV-" & client & "-" & DPT & "-" & nbdossier & "-Developpement\" & "DV3-" & client & "-" & DPT & "-" & nbdossier & "-Bail\"
     
                Else
                    chemin = chemin & "B-DV-" & client & "-" & DPT & "-" & nbdossier & "-Developpement\"
     
                End If
     
     
        Else
     
                If prefixe4 = "CO00" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO00-" & client & "-" & DPT & "-" & nbdossier & "-Photos\"
     
                ElseIf prefixe4 = "CO0-" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO0-" & client & "-" & DPT & "-" & nbdossier & "-Courriers divers\"
     
                ElseIf prefixe3 = "CO1" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO1-" & client & "-" & DPT & "-" & nbdossier & "-Devis\"
     
                ElseIf prefixe3 = "CO2" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO2-" & client & "-" & DPT & "-" & nbdossier & "-Etat des lieux fiche technique\"
     
                ElseIf prefixe3 = "CO3" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO3-" & client & "-" & DPT & "-" & nbdossier & "-Branchement\"
     
                ElseIf prefixe3 = "CO4" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO4-" & client & "-" & DPT & "-" & nbdossier & "-Echanges relatifs aux travaux avec ENEDIS\"
     
                ElseIf prefixe3 = "CO5" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO5-" & client & "-" & DPT & "-" & nbdossier & "-Etude charpente\"
     
                ElseIf prefixe3 = "CO6" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO6-" & client & "-" & DPT & "-" & nbdossier & "-Plans\"
     
                ElseIf prefixe3 = "CO7" Then
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\" & "CO7-" & client & "-" & DPT & "-" & nbdossier & "-Devis signes\"
     
                Else
                    chemin = chemin & "C-CO-" & client & "-" & DPT & "-" & nbdossier & "-Construction\"
     
                End If
        End If
     
            NomFich2 = Mid(NomFich, InStrRev(NomFich, "-") + 1)
            NomFich3 = Dir(chemin & "*-" & NomFich2)
     
                If Len(NomFich3) > 0 Then
                        FileCopy chemin & NomFich3, Destination & NomFich3
                Else
                        'fichier = prefixe3 & "-" & client & "-" & DPT & "-" & nbdossier & "-" & NomFich2
                        MsgBox ("Le fichier " & NomFich2 & " n'existe pas")
                        FileCopy DestinationHG & NomFich, DestinationNOTFOUND & NomFich
                End If
      Next

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La fonction FileList a pour mission de renvoyer la liste de tous les fichiers se trouvant dans un répertoire particulier correspondant au nom passé par l'argument.LookUpFullName (Les caractères génériques sont autorisés).
    Donc le traitement de copie suivant préfixe est un autre problème.
    Il faudrait mieux expliquer les critères de copie.
    Le problème vient certainement d'une mauvaise conception de l'algorithme
    Personnellement, je n'utilise pas les ElseIf dont je trouve la lecture imbuvable. Je lui préfère le Select Case
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Je me doute qu'elle vient d'une mauvaise conception de l'algorithme.
    Quelqu'un a t-il une idée pour fixer ce problème ?

    Merci d'avance

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Quelqu'un a t-il une idée pour fixer ce problème ?
    Nous avons certainement plein d'idées mais comme demandé dans ma réponse précédente
    Il faudrait mieux expliquer les critères de copie.
    En français et pas en code VBA bien sûr
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Bonjour, qu'entendez vous par critère de copie ? Je n'ai pas compris désolé

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    qu'entendez vous par critère de copie ?
    Les conditions comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        If prefixe2 = "DP" Then
                chemin = chemin & "A-DP-" & client & "-" & DPT & "-" & nbdossier & "-Demarches prealables\"
     
        ElseIf prefixe2 = "DV" Then
     
                If prefixe3 = "DV0" Then
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    J'ai remarqué que lorsque j'utilise la fonction Dir dans ma boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    NomFich3 = chemin & FinalPref & "-" & client & "-" & DPT & "-" & nbdossier & "-" & NomFich2
    Fichier = Dir(NomFich3)
    on ne peut boucler que sur un seul fichier en continu. C'est à dire que la ligne
    va boucler sur le même fichier et non pas sur le suivant

    Une idée de comment fixer ça ?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Les conditions comme par exemple
    Je regarde le préfixe du fichier (ex : DV ou DP)
    En fonction de ce préfixe je donne une valeur différente à "chemin", la variable du chemin d'accès jusqu'à mon dossier

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    J'ai remarqué que lorsque j'utilise la fonction Dir dans ma boucle :
    Dans ton cas, on ne doit pas utiliser fonction Dir dans une boucle mais bien boucler sur les éléments du résultat renvoyé par la fonction FileList
    Ce n'est pas étonnant dans ce cas que tu n'as qu'un seul élément copié

    Voir l'exemple que j'ai donné (ligne 11 à 13) et remplacer la construction de la variable msg par la copie du fichier en fonction du préfixe
    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For Elem = 0 To UBound(tbl)
        ' msg = msg & vbCrLf & tbl(Elem)
        ' ici code de la copie du fichier (définit par tbl(Elem) ) suivant préfixe
    Next
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Merci pour vote réponse je comprends un peu mieux. Cependant j'ai besoin de modifier tbl(Elem) avant de faire le FileCopy.
    tbl(Elem) = DP6-CLIENT-DPT-HG N AFF-mandat

    Je stocke dans une variable "mandat" avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NomFich2 = Mid(tbl(Elem), InStrRev(tbl(Elem), "-") + 1)
    Et grâce à mon chemin récupéré plus tôt je vais chercher mon fichier en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dir(chemin & "*-" & NomFich2)
    Mon tableau ne contient donc pas les bons éléments exact ?

  13. #13
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En principe il n'y a aucune raison de modifier les éléments de la variable Tbl qui contient la liste des fichiers du répertoire mentionné dans l'argument de FileList par contre pour faire la copie on prend des sous-chaînes de tbl à l'aide des fonctions Mid, Left ou Right
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Le problème c'est que j'ai besoin de prendre des infos de tabl(Elem).
    L'exemple était "mandat" mais il se peut que ce soit "promesse de bail" je ne peut donc pas utiliser un Right(tabl(Elem), x) puisque x varie selon énormément de valeur...

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Le problème c'est que j'ai besoin de prendre des infos de tabl(Elem)
    L'exemple était "mandat" mais il se peut que ce soit "promesse de bail" je ne peut donc pas utiliser un Right(tabl(Elem), x) puisque x varie selon énormément de valeur..
    C'est bien la raison pour laquelle, je t'ai demandé quels sont les critères (conditions si tu préfères) qui font qu'un nom de classeur soit copier dans un fichier qui porte un autre nom
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2019
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juin 2019
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Dans ce cas il y a le préfixe que j'ai évoqué plus haut (DV, DP) et le type de fichier (mandat, promesse de bail signee...)

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

Discussions similaires

  1. Créer un fichier dans un dossier
    Par naevaj dans le forum C
    Réponses: 12
    Dernier message: 26/05/2006, 14h27
  2. [VBA-E]Compter nombre de fichier dans un dossier
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/05/2006, 14h36
  3. [Upload] upload de fichier dans un dossier creer en ligne
    Par jeanfrancois dans le forum Langage
    Réponses: 1
    Dernier message: 20/03/2006, 14h09
  4. Réponses: 7
    Dernier message: 05/01/2006, 01h06
  5. Pb de comptage de fichiers dans un dossier
    Par oz80 dans le forum Access
    Réponses: 2
    Dernier message: 15/11/2005, 14h26

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