jbballeyguier
XLDnaute Nouveau
Bonjour,
je suis en train de travailler sur une macro qui réalise une recherche de fichiers, ouvre les fichiers trouvés, et fait un saveas de ces fichiers sous un autre nom et un autre répertoire.
Pour savoir sous quel nom le fichier doit être enregistré, j'ai une table de correspondance, ancien nouveau nom. Je décide donc de faire un find du nom du fichier ouvert sur la colonne qui contient l'ensemble des noms, pour voir si je le trouve, et si oui je regarde la cellule d'à coté pour récupérer le nouveau nom...
J'arrive à faire la recherche, j'arrive à ouvrir les fichiers... par contre le fin dans la colonne plante (la méthode activate de la classe range a échoué), et je n'arrive pas à trouver l'erreur :
Quelqu'un aurait une idée ?
Merci d'avance
jb
je suis en train de travailler sur une macro qui réalise une recherche de fichiers, ouvre les fichiers trouvés, et fait un saveas de ces fichiers sous un autre nom et un autre répertoire.
Pour savoir sous quel nom le fichier doit être enregistré, j'ai une table de correspondance, ancien nouveau nom. Je décide donc de faire un find du nom du fichier ouvert sur la colonne qui contient l'ensemble des noms, pour voir si je le trouve, et si oui je regarde la cellule d'à coté pour récupérer le nouveau nom...
J'arrive à faire la recherche, j'arrive à ouvrir les fichiers... par contre le fin dans la colonne plante (la méthode activate de la classe range a échoué), et je n'arrive pas à trouver l'erreur :
Code:
Sub changenoms()
' Récupérer le nom de l'enchainement
Dim enchainement As Range
Dim nomench As String
Dim ScanFic As Office.FileSearch
Dim j As String
Dim Chemin As String
j = 1
Set ScanFic = Application.FileSearch
Chemin = (ThisWorkbook.Path & "\" & "Enchainements")
With ScanFic
.NewSearch
.LookIn = Chemin
.SearchSubFolders = True
.FileType = msoFileTypeExcelWorkbooks
.Execute
For Each NomFic In .FoundFiles
Workbooks.Open Filename:=NomFic, UpdateLinks:=False
Ench = CStr(NomFic)
Ench = Mid(Ench, InStrRev(NomFic, "\") + 1)
nomench = Workbooks(Ench).Sheets("CR détaillé").Range("C1").Value
ThisWorkbook.Sheets("Nomenclature").Range("C:C").Find(what:=nomench).Activate
If enchainement Is Nothing Then
MsgBox BOUM!
Else
nouveaunom = enchainement.Offset(0, -1)
Workbooks(Ench).SaveAs nouveaunom & ".xls"
ActiveWorkbook.Close
'lig = enchainement.Row
'col = enchainement.Column
End If
ThisWorkbook.Activate
Next
End With
End Sub
Quelqu'un aurait une idée ?
Merci d'avance
jb