VBA Excel 2003 vs 2007

Résolu
Bonjour à toutes et tous,
J'ai transmis ce code (adapté d'un code trouvé quelque part ici même) à un pote qui utilise Xl2007. Je n'ai que la version 2003 et suis donc dans l'impossibilité de l'aider, la macro fonctionnant très bien chez moi...
Quelqu'un aurait il l'amabilité de regarder et de me dire ce qu'il faut modifier pour que le code fonctionne sous Xl2007?
Merci d'avance
Sub txtenxls()
Dim ScanFic As Office.FileSearch
Dim NomFic As Variant
Dim Nbr As Long
Dim R As Long TB()
Dim i As Integer, j As Integer, k As Integer
Set ScanFic = Application.FileSearch
With ScanFic
.NewSearch
.LookIn = ActiveWorkbook.Path
.SearchSubFolders = True
.Filename = "*.txt"
.MatchTextExactly = True
.FileType = msoFileTypeAllFiles
Nbr = .Execute
For Each NomFic In .FoundFiles
Workbooks.OpenText Filename:=NomFic
      R = RechFind("@", ActiveWorkbook.Name, ActiveSheet.Name, Range("A1:A5000").Address, TB())
    If R > 0 Then
    j = j + R
        For i = 0 To R - 1 ' ou ubound(TB)
            'exemple
            Workbooks("txt en xls.xls").Sheets("Feuil1").Cells(i + j, 2) = Range(TB(i))
        Next i
    End If
ActiveWorkbook.Close
Next
Set ScanFic = Nothing
MsgBox ("Macro terminée, ne reste plus qu'un tri manuel à effectuer...")
End Sub

Le débogage lui indique la ligne en gras.

--
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --

3 réponses

  1. Contributeur
    Bonjour,

    déjà avant de tester, j'ai la ligne
    Dim R As Long TB()
    , c'est considéré comme une erreur de syntaxe.

    Cordialement.
    1. Modérateur
      Juste parce que je l'ai mal collée... En fait j'ai supprimé des variables (et une virgule) en collant ici.
      Dim R As Long, TB()
    2. Contributeur
      Finalement je ne vais pas pouvoir t'aider, je n'ai pas Excel 2007 mais 2010.

      Désolé, et bon courage.
  2. Bonjour,

    L'objet FileSearch n'est plus supporté depuis Office 2007.

    Tu trouveras ici https://silkyroad.developpez.com/vba/classefilesearch/ un moyen de contourner le problème.

    Cdlt

    Polux

    ;o)
    1. Modérateur
      Merci Polux.
      Pourquoi n'ai je pas pensé plus tôt à l'ami silkyroad???
      Toujours présent quand on a besoin de lui.
      Par contre pas facile facile à comprendre.
      Je ferais ça ce week end.
      Merci encore.
      @
  3. Contributeur
    Bonjour,
    la fonction FileSearch n'est plus reprise dans le 2007
    2 solutions
    1 - Ajouter un Add in pour l'avoir avec le 2007 (pas conseillé, il faudra avoir cet addin sur tout les PC qui voudront employer ce classeur)
    2 - Refaire la macro avec cette astuce
    A+
    L'expérience instruit plus sûrement que le conseil. (André Gide)
    Si tu te cogne à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
    1. Bonjour,

      Bien vu lermite ...

      ;o)
    2. Modérateur
      salut,
      merci beaucoup à vous 2.
      je me penche là dessus dès lundi.
      bon week end