VBA Excel 2003 vs 2007

Résolu/Fermé
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 7 mai 2010 à 16:08
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 8 mai 2010 à 10:21
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.
A voir également:

3 réponses

chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
7 mai 2010 à 16:22
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.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
7 mai 2010 à 16:25
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()
0
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
7 mai 2010 à 16:29
Finalement je ne vais pas pouvoir t'aider, je n'ai pas Excel 2007 mais 2010.

Désolé, et bon courage.
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
7 mai 2010 à 16:36
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)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
7 mai 2010 à 16:39
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.
@
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
Modifié par lermite222 le 7/05/2010 à 17:24
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)
0
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
7 mai 2010 à 17:21
Bonjour,

Bien vu lermite ...

;o)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743
8 mai 2010 à 10:21
salut,
merci beaucoup à vous 2.
je me penche là dessus dès lundi.
bon week end
0