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 :

Equivalent de .FoundFiles.Item() dans Classefilesearch [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Par défaut Equivalent de .FoundFiles.Item() dans Classefilesearch
    Bonjour à tous,

    Au sein d'un programme de simulation de mortalité, j'ai un petit bout de code qui sert à vérifier la présence de certains fichiers. Ce bout de code utilisait la fonction filesearch qui n'est plus supportée par office 2007.

    Après avoir suivi le tutoriel qui se trouve ici : http://silkyroad.developpez.com/vba/classefilesearch/, j'ai modifié mon programme comme suit :

    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
     
    Public Function CheckFiles() As Boolean
        Dim files(2) As String, temp As String
        Dim i As Integer, j As Integer
        Dim found As Boolean
     
        Dim Recherche As ClFileSearch.ClasseFileSearch
        Set Recherche = ClFileSearch.Nouvelle_Recherche
     
     
        files(1) = "fitModels.r"
        files(2) = "simModels.r"
     
        CheckFiles = True
     
        'With Application.FileSearch
            '.NewSearch
            '.FileType = msoFileTypeAllFiles
            '.LookIn = ThisWorkbook.Path
            '.SearchSubFolders = False
            '.Execute
     
        With Recherche
            .FolderPath = ThisWorkbook.Path
            .SubFolders = False
            .Execute
     
            For i = 1 To UBound(files, 1)
                found = False
                For j = 1 To .FoundFilesCount
                    temp = Right(.FoundFiles.Item(j), Len(.FoundFiles.Item(j)) - Len(ThisWorkbook.Path) - 1)
                    If temp = files(i) Then
                        found = True
                        Exit For
                    End If
                Next j
                If Not found Then
                    CheckFiles = False
                    Exit For
                End If
            Next i
        End With
     
    End Function
    Cependant il ne fonctionne toujours pas.
    Je souhaiterais savoir par quoi je peux remplacer .FoundFiles.Item(j) car Excel me donne le message d'erreur suivant : "Erreur de compilation : Membre de méthode ou de données introuvable" au sujet de cette instruction.
    J'ai essayé de mettre .Files(j).strFileName à la place mais après j'ai ce message d'erreur : "Erreur de compilation : Type d'argument ByRef incompatible".

    Merci de votre aide.

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    sans garantie, essayes comme ça pour retourner le nom du fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    temp = .Files(j).strfileName
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 2
    Par défaut Ca marche !
    Merci casefayere. Ca a marché presque aussitôt, il a juste fallu que je déclare i et j en long et non pas en integer.

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

Discussions similaires

  1. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  2. [Portal 9iAS] : ordre des items dans une région
    Par melitta dans le forum Oracle
    Réponses: 8
    Dernier message: 21/10/2004, 14h01
  3. changer le texte de tous les Items dans un mainmenu
    Par C.M dans le forum Composants VCL
    Réponses: 7
    Dernier message: 25/07/2004, 13h19
  4. Suppression d'item dans une arborescence
    Par jonzuzu dans le forum MFC
    Réponses: 2
    Dernier message: 24/02/2004, 17h45
  5. Réponses: 2
    Dernier message: 17/08/2003, 20h07

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