Comment enregistrer des fichiers Excel à la chaine ?

Bonjour à tous,

J'ai besoin de votre aide pour trouver un moyen d'enregistrer 110 fichiers excel à la chaine, avec seulement un élément qui change à l'intérieur, et le nom du fichier qui doit également s'adapter.

Je vous explique, j'ai un fichier excel avec en cellule A2 du premier onglet, une liste déroulante, avec le nom des 110 entreprises qui peuvent être choisies et en cellule D2 du même onglet, leur numéro d'identification.

Une fois que je choisis une entreprise, l'ensemble du premier onglet et des autres onglets se remplissent automatiquement.

Ce que j'aimerais, c'est pouvoir créer une macro qui irait sélectionner une société dans la cellule A2, puis qui enregisterait l'excel sous un nom défini : Nomdel'entreprise_Numérod'identification.

Ca, j'ai trouvé comment faire (sauf pour automatiser le nom)

Sub Test()
'
' Test Macro
'

'
    Range("I2").Select
    ActiveCell.FormulaR1C1 = "=RC[-8]&""_""&RC[-5]"
    Range("I2").Select
    Selection.Copy
    Application.CutCopyMode = False
    ChDir "/Users/sg.m/Desktop/"
    ActiveWorkbook.SaveAs FileName:= _
        "/Users/sg.m/Desktop/ENTREPRISE_NUMERO.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
End Sub

L'élément compliqué est que j'aimerais étendre cette macro et que j'ai juste à l'exécuter une fois pour que 110 fichiers excel se créent, avec 110 entreprises différentes sélectionnées, et avec à chaque fois le nom du excel qui s'adapte.

Pourriez-vous m'aider?

Merci d'avance pour votre aide précieuse !

Bonjour,

Tel que tu le décris, tu conserves la liste des 110 entreprises dans chaque fichier créé. C'est bien cela que tu souhaites ? ou c'est d'avoir un fichier par entreprise sans la liste des 109 autres ?

Idéalement, ce serait que tu constitues un fichier exemple en conservant les infos (banalisées / anonymisées) nécessaire sur le 1er onglet et un 2ème onglet qui se met à jour en fonction du choix de l'entreprise (pas besoin de 50 infos). C'est pour avoir la structure générale du classeur et aussi pour ne pas avoir à le faire

La liste est une liste déroulante dans la cellule A2, mais qui prend sa source dans l'onglet Datatype, A14:A123

Cela ne m'importe pas, que la liste disparaisse ou non. L'essentiel est que l'entreprise sélectionnée dans cette liste soit différente dans chacun des fichiers, et que les 110 fichiers soient créés (pour les 110 entreprises). Est-ce plus clair ?

J'ai réalisé un exemple type.

L'onglet document A sera alimenté automatiquement dans les cellules de la colonne H, Résultats. J'ai déjà créé une formule pour tout ça, tout sera rempli automatiquement une fois qu'une entreprise est inscrite en cellule A2 de l'onglet "Infos Sociétés". Je ne pense donc pas que ça ait un intérêt ici.

Par contre, ce qui est intéressant c'est le reste des infos de l'onglet "Infos Sociétés", qui sont remplis automatiquement dès qu'une entreprise est choisie. Dont le numéro d'identification (numéro d'isin)
Celui-ci qui sera utilisé, ainsi que le nom de l'entreprise, pour nommer le fichier.

Est-ce plus clair ?

Merci beaucoup !!

9masque-test.xlsx (72.43 Ko)

Oui .

Bonsoir,

Le fichier joint contient la macro de duplication du fichier.

Sur la 1ère feuille du classeur, tu trouveras les consignes et le bouton de lancement ainsi que si tu le souhaites la possibilité de rectifier les noms des entreprises qui contiennent des caractères spéciaux à la place des voyelles accentués. Si tu valides, le fichier d'origine sera aussi corriger et enregistré avant d'entamer la duplication. La 2ème feuille "datatype" est une copie de l'onglet du fichier d'origine, il faudra le réactualiser si des changements interviennent avant l'utilisation de la macro.

Le principe de fonctionnement est simple, ouverture du fichier d'origine (rectif éventuelle des noms) puis boucle sur le référentiel pour mettre le nom dans la feuille [Infos société] et faire un "enregistrer sous" avec nom du fichier nomentreprise_numISIN.xlsx.

Merci beaucoup pour ton aide, tout a l'air génial !

Cependant, pas moyen d'aller plus loin que la première étape, car une erreur apparait...

capture d e cran 2023 03 30 a 09 49 37

Saurais-tu comment régler ça ?

J'ai essayé de changer l'emplacement du dossier, de rajouter un "/" à la fin, d'ouvrir le fichier en même temps, rien n'y fait...

Merci encore pour ce dernier coup de pouce ;-)

C'est à cause du séparateur de chemin, j'ai rajouté le caractère "\" au lieu d'utiliser Application.PathSeparator ...

Nouvelle version, désolé

Ca fonctionne, c'est merveilleux !!

Merci beaucoup :-)

Rechercher des sujets similaires à "comment enregistrer fichiers chaine"