J'ai besoin de créer une macro que je puisse utiliser dans n'importe quel fichier excel.
Le cas est le suivant : Je vais recevoir ~70 fichiers excel (formulaires), je dois les ouvrir un par un et copier une information specifique de chaque fichier dans un nouveau fichier appelée "compilation".
Comment je peux faire pour que ma macro fonctionne en sachant que les 40 fichiers ont des noms differents?
J'utilise ce bout de code pour ouvrir automatiquement un autre fichier excel
Function OpenSFD() As String
Dim classeur As String
classeur = Application.GetOpenFilename()
If classeur <> "Faux" Then
Workbooks.Open classeur
OpenSFD = classeur
End If
End Function
Ensuite j'utilise ceci:
ThisWorkbook.Activate
Workbooks(NOM_FICHIER).Activate
__________________________ Eoliennes et informatique sur freresguizmo
Salut,
je suis heureuse de voir que je ne suis pas la seule à ramer. Je suis justement confrontée au même problème.
Dans mon cas, mes noms de fichiers ont juste la fin du nom qui change (ils correpondent à des numéros). J'ai fait une liste des numéros dans une colonne de excel. A partir de la j'ai créé une variable qui me rédéfini le chemin d'acces à mon fichier en fonction de la cellule sur laquelle je tombe au fur et à mesure que meslignes sedécalent vers le bas.
Jusque là tout va très bien et mon programme marche. Le problème vient après: justement lorsque je veux ouvrir le fichier y copier une de ses lignes et la copier dans mon fichier excel que j'utilise.
Pourouvrir mon classeur j'ai essyé d'utiliser cette formule :
Workbooks.Open ("nom classeur .xls")
Le problème est qu'elle m'oblige à écrire le détail des différents chemins manuellement et de le répéter à chaque dossier. Du coup j'ai essayé de la modifier:
Workbooks.Open Filename = nom2
(nom2 était la variable de mes chemins)
Le problème est que ça ne marche pas. Jene sais pas comment faire. RGI, Je vois que tu sembles avoir quelques idées. serias tu intéresserpour m'aider, toi ou quelqu'un d'autre d'ailleurs.