Changer de fichier en gardant la même procédure

BigU

XLDnaute Nouveau
Salut tout le monde,
J'ai fait une procédure pour extraire certaines données de plusieurs fichiers excel ("fichiers sortie") et les synthétiser dans un "fichier bilan".

Mais les noms des fichiers vont changer, et comme j'aimerais que cette procédure ne soit pas à usage unique, j'aimerais pouvoir ajouter au début de la procédure un truc qui ressemble à:

FichierSortie1 = NouveauFichierSortie1
FichierSortie2=....

Où tous les nouveaux fichiers subissent la même procédure que les anciens.

J'espère avoir été clair sur ce que je recherche ...
Si vous avez une piste n'hésitez pas!

Merci d'avance ! :)
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Changer de fichier en gardant la même procédure

Bonjour BigU et bienvenue sur XLD :),

Vous avez décrit la solution. Une piste pourrait consister à demander à l'utilisateur les fichiers à utiliser, stocker les noms et chemins de ces fichiers dans les variables puis de lancer la procédure d’extraction, cette dernière devenant une requête paramétrée avec comme arguments les variables des fichiers choisis par l'utilisateur.

Mais sans fichiers joints (fichier de la macro & fichiers sorties) pour illustrer votre demande, difficile pour moi d'aller plus loin dans la réponse...
 

BigU

XLDnaute Nouveau
Re : Changer de fichier en gardant la même procédure

Voici ma procédure, il y a sûrement des trucs qui vont te paraître louche ou inutile. C'est un rabibochage de trucs trouvé sur le forum (je suis un grand débutant).


Sub Transfert()


Dim Entree As Workbook, Sortie As Workbook,

TestevaluationsRDV052016 = Application.GetOpenFilename("Fichier Excel (*.xlsx), *.xsl")
' On verifie que l'on a selectionné un nom de classeur
If TestevaluationsRDV052016 <> False Then
' On ouvre le classeur
Set Entree = Workbooks.Open(TestevaluationsRDV052016)


'On ouvre le premier fichier à extraire
FichierSortie = Application.GetOpenFilename("Fichier Excel (*.xlsx), *.xsl")
If FichierSortie <> False Then
Set Sortie = Workbooks.Open(FichierSortie)

' Ici tu mets les copies des cellules de la feuille d'entrée vers la feuille de sortie

Entree.Worksheets("Feuil1").Cells(12, 3) = Sortie.Worksheets("Feuil3").Cells(201, 4)

Entree.Worksheets("Feuil1").Cells(12, 4) = Sortie.Worksheets("Feuil3").Cells(201, 2)

Workbooks("FichierSortie").Close True

End If

End If
 

Discussions similaires

Statistiques des forums

Discussions
312 612
Messages
2 090 227
Membres
104 453
dernier inscrit
benjiii88