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 :

Fonction recherche sans résultat [XL-2007]


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
    Avril 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 105
    Par défaut Fonction recherche sans résultat
    Bonjour à tous,
    j'ai codé une fonction retournant un string. Cette fonction a pour paramètre un chemin et un nombre de fichier. Elle va à l'emplacement indiqué et compte le nombre de fichier ayant les 4 premières lettres identiques si ce nombre et supérieur ou égal au nombre de fichier passé en paramètre elle retourne comme résultat les 4 premières lettres de ces fichiers.

    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
    Function Recherche(Chemin As String, NombreFicReq As Integer) As String
     
    Dim Nom1 As String, Nom2 As String, Nom3 As String
    Dim cpt As Integer, cpt2 As Integer
    Dim t As Long
     
     
    cpt = 0
    cpt2 = 0
     
    Dim R As ClFileSearch.ClasseFileSearch
    Set R = ClFileSearch.Nouvelle_Recherche
        With R
            .FolderPath = Chemin
            .Extension = "*.DBF"
            .SubFolders = False
            .Execute
            For t = 1 To .FoundFilesCount
            Nom1 = Left(.Files(1).strFileName, 4)
            Nom2 = Left(.Files(t).strFileName, 4)
            If Nom1 = Nom2 Then
            cpt = cpt + 1
            Else
            Nom3 = Nom2
            cpt2 = cpt2 + 1
            End If
            Next
     
        End With
     
        If Not cpt >= NombreFicReq And Not cpt2 >= NombreFicReq Then
             Recherche = ""
            Else
            If cpt >= NombreFicReq Then
            Recherche = Nom1
            Else
            Recherche = Nom3
            End If
            End If
     
      Set R = Nothing
     
    End Function
    Je l'ai testé avec un dossier contenant 16 fichiers .dbf avec les mêmes 4 premières lettres et comme nombre de fichiers en paramètres de 10 mais elle ne retourne aucun résultat.

    Merci d'avance pour le temps que vous allez me consacrer !

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Salut,

    Fais déjà un MsgBox(.FoundFilesCount) dans ta boucle histoire de vérifier que des fichiers .DBF sont trouvés.

    Ensuite, fais des MsgBox sur tes Nom1, Nom2 voir ce que tu récupères.

    Enfin, fais des MsgBox sur tes compteurs.

    Tu y verras alors mieux, je pense. Dis-nous ce que tu obtiens et où est donc le problème.

    A+

  3. #3
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Tout à fait d'accrod avec Dead, et je dirai même plus le déboggueur en mode pas à pas.

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 105
    Par défaut
    Effectivement il ne trouve pas les .dbf

    MsgBox .FoundFilesCount retourne 0.

  5. #5
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Indiques-tu bien le bon Chemin ?

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2009
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 105
    Par défaut
    J'ai fait une grosse bourde :d

    En faite les fichiers dans lesquels je fais ma recherche sont des résultats de requete sur une base de données, je sais que ce sont des .dbf mais le système lui ne le sait pas et donc ce sont des fichiers avec un nom sans extension.

    Du coup je fais ma recherche mais en enlevant le critère .extension et en gèrant les fichiers non inclus dans le comptage avec des conditions.

    Merci à tous

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

Discussions similaires

  1. [AC-2010] Fonction Name sans résultat
    Par tonio-lille dans le forum VBA Access
    Réponses: 9
    Dernier message: 15/10/2012, 09h52
  2. Recherches sans résultat-comment les différencier?
    Par daniel64 dans le forum VBA Word
    Réponses: 2
    Dernier message: 23/05/2012, 03h41
  3. [XL-2003] Fonction recherche avec résultat = n° lignene
    Par Toto_le_héros38 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/05/2011, 18h10

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