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 :

pb .foundfile foudsearch


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 124
    Par défaut pb .foundfile foudsearch
    bonjour

    voila j'ai une macro qui tourne depuis pas mal de temp sur des PC mais depuis la formatage du pc et la mise en place de excel 2003 une partie de mon prgramme ne marche plus

    cette procedure faisait l'inventaire des fichiers dans un répertoire
    cette macro marchait depuis un bout de temp

    mais la je vois d'ou vient le pb ??

    Le pc a été reformaté donc peut etre un pb de droit (je suis administrator normalement)
    ou le faite d'etre passer sous excel 2003 (ca m'etonnerait )

    en fait la macro ne genere pas d'erreur mais fais comme si il n y avait aucun fichier dans le repertoire



    Merci de votre aide

    bonne journée

    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
    Sub liste_of()
     
     
    Dim val, rep As String
    Dim deb, tot, dif As Long
     
     
    UserForm1.ComboBox2.Clear
     
    rep = "G:\DP\pf_mcore\CR_Intégration\" & UserForm1.ComboBox1.Value & "\En cours de test\"
    deb = Len(rep)
     
    With Application.FileSearch
     
    .LookIn = rep
    .Filename = "*.*"
     
     
     
    If .Execute = 0 Then
     
        Exit Sub
     
    Else
     
    UserForm1.ComboBox2.Clear
     
    For i = 1 To .FoundFiles.Count
     
    tot = Len(.FoundFiles(i))
    dif = tot - deb
    val = Right(.FoundFiles(i), dif)
    tot = Len(val)
    dif = tot - 4
    val = Left(val, dif)
     
        UserForm1.ComboBox2.AddItem (UCase(val))
     
        Next i
     
    End If
     
    End With
     
    End Sub

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Apriori je regarderais si le chemin est bien valide, en prenant garde aux caractères accentués qui sont dans ce chemin (
    CR_Intégration) vérifies si tu as recréé ton arborescence de répertoire après ton formatage, que tu ne te sois pas trompé.
    A++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 124
    Par défaut
    salut

    Merci pour ta réponse

    mais en faite je travaille sur un lecteur réseau

    G ==> lien vers un réseau

    donc coté répertoire je suis sur de çà

    j'ai essayé aussi de faire des essais en local sur le disque C mais idem

    aucune erreur d'exécution mais pas de fichier trouvé

    merci

    a+

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut
    Moi sur Excel 2003 ca ne pose pas de probleme
    J'ai modifié ainsi pour tester et Val contient bien le nom du fichier, attention par contre le \ au debut du nom de fichier est concervé.
    Attention aussi a declartion de variable
    n'est pas equivalent a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim a as string, b as sting
    mais a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim a as variant, b as string
    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
    Sub liste_of()
     
    'Les declaration doivent se faire ainsi sinon celles qui non pas de As .. a la suite seront conciderées comme des variants
    Dim val As String, rep As String
    Dim deb As Long, tot As Long, dif As Long
     
        'UserForm1.ComboBox2.Clear
        rep = "D:\éssai" '"G:\DP\pf_mcore\CR_Intégration\" & UserForm1.ComboBox1.Value & "\En cours de test\"
        deb = Len(rep)
        With Application.FileSearch
            .LookIn = rep
            .Filename = "*.*"
            If .Execute = 0 Then
                Exit Sub
            Else
                'UserForm1.ComboBox2.Clear
                For i = 1 To .FoundFiles.Count
                    tot = Len(.FoundFiles(i))
                    dif = tot - deb
                    val = Right(.FoundFiles(i), dif) 'attention ici tu concerve le \ avant le nom de ton fichier
                    tot = Len(val)
                    dif = tot - 4
                    val = Left(val, dif)
                    'UserForm1.ComboBox2.AddItem (UCase(val))
                Next i
            End If
        End With
     
    End Sub
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 124
    Par défaut
    salut

    merci pour ta reponse

    je test des lundi au boulot

    merci

    ++

Discussions similaires

  1. [XL-2007] Equivalent de .FoundFiles.Item() dans Classefilesearch
    Par tarte_tatin dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/04/2012, 11h00
  2. [Access 2007] Remplacement de .Filesearch et .FoundFiles
    Par Nephyline dans le forum VBA Access
    Réponses: 8
    Dernier message: 29/09/2008, 13h49
  3. Problème avec Filessearch et .Foundfiles avec excel 2007
    Par ve2luv dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/08/2008, 18h19

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