VBA Excel 2003 vs 2007

Résolu
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
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   Statut Contributeur Dernière intervention   1 311
 
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   Statut Modérateur Dernière intervention   2 761
 
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   Statut Contributeur Dernière intervention   1 311
 
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   Statut Membre Dernière intervention   1 204
 
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   Statut Modérateur Dernière intervention   2 761
 
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 8724 Date d'inscription   Statut Contributeur Dernière intervention   1 191
 
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   Statut Membre Dernière intervention   1 204
 
Bonjour,

Bien vu lermite ...

;o)
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
salut,
merci beaucoup à vous 2.
je me penche là dessus dès lundi.
bon week end
0