Créer plusieurs fichiers Excel à partir d'un seul fichier

Bonjour,

Après plusieurs tentatives je n'arrive pas à créer une macro qui doit être surement très simple à faire...

J'ai donc besoin de votre aide.

J'ai un fichier excel avec en colonne A des codes UR.

J'aimerai qu'à chaque changement d'UR, la macro me crée un nouveau fichier et le renomme avec ce code UR sur 6 caractères. (j'ai au préalable trié ma colonne A pour les lignes d'une même UR soit les unes derrière les autres).

Il faut bien sûr qu'il copie toutes des données des lignes sélectionnées avec la ligne en-tête.

De plus, j'ai une liste de choix sur une 2ème feuille qui doit également se copier sur tous les nouveaux fichiers et qui doit servir à remplir la colonne Q "commentaire/gérant".

Je sais pas si je suis assez claire.

En tout cas merci de votre aide précieuse (cela fait 4 ans que je fais ces manipulations manuellement mais cette année il y a beaucoup plus de données donc j'aimerai trouver un moyen rapide...)

Merci

Bonjour,

Voici une proposition, peut-être à personnaliser, avec ce code :

Sub CreerFichiers()

dossier = ThisWorkbook.Path & "\" '<<<adapter emplacement destination
Set dico = CreateObject("Scripting.dictionary")

application.screenupdating = false
With Sheets("base")
    dl = .Cells(.Rows.Count, 1).End(xlUp).Row
    For i = 2 To dl
        If Not dico.exists(.Cells(i, 1).Value2) Then
            dico(.Cells(i, 1).Value2) = ""
            chemin = dossier & "UR " & .Cells(i, 1).Value2 '<<<chemin (ADAPTER NOM FICHIER)
            .Parent.SaveCopyAs chemin
            Application.DisplayAlerts = False
            With Workbooks.Open(chemin)
                With .Sheets("base").UsedRange
                    .Cells.AutoFilter
                    .AutoFilter 1, "<>*" & .Cells(i, 1).Value2, xlFilterValues
                    .Offset(1, 0).Rows.Delete
                    .Cells.AutoFilter
                End With
                .SaveAs chemin & ".xlsx", 51
                .Close True
            End With
            Application.DisplayAlerts = True
        End If
    Next i
End With
application.screenupdating = true

End Sub

Cdlt,

merci beaucoup pour votre aide.

Je vais tester tout de suite.

La macro bloque au niveau .Parent.SaveCopyAs chemin

vous pouvez m’aiguiller svp ?

merci encore

Quel est le message d'erreur ? Y a-t-il un fichier du même nom ouvert ? Lors du débogage, on peut consulter les variables sous la fenêtre du code en général : quel est la valeur de i ?

Je crois que j'ai trouvé elle est en train de tourner ! j'avais le dossier ouvert et donc ça beugé !

Oui, c'est ce que j'ai pensé... Alors, verdict ?

Bonjour,

je ne ferai pas mieux que 3GB que je salue , mais ... si tu souhaitais un retour d'informations, tu as ici un outil qui te fera l' "aller/retour" https://www.excel-pratique.com/fr/telechargements/utilitaires/dispatcher-compiler-excel-no466

@3GB un grand merci ! la macro a tourné nickel ! j'ai mes 116 fichiers créés c'est top ! vous m'avez fait gagner un temps précieux !

@Steelson, merci pour le lien ! Je vais en faire bon usage !

Je suis une fan d'excel et surtout j'adore chercher et essayer de trouver mais là sur le coup je vois mes limites sur les macros... je pense qu'une petite formation s'impose !

un tout cas un grand merci !

Salut Steelson,

Merci pour le partage ! Ca fait deux sujets récents où j'apprends que tu as déjà fait un fichier qui traite le problème, bravo !

@Manon : Merci du retour ! Je ne sais pas si vous avez vu mais il y a des rubriques sur ce forum qui permettent se former à Excel comme VBA.

Bonne soirée à tous les 2,

Merci pour le partage ! Ca fait deux sujets récents où j'apprends que tu as déjà fait un fichier qui traite le problème, bravo !

... cela reste perfectible ... j'ai bien regardé ton code avec des choses que je ne connaissais pas ! comme .Parent et les .autofilter que je traitais autrement ! merci pour ces apports.

Rechercher des sujets similaires à "creer fichiers partir seul fichier"