[Résolu] Exporter chaque groupe d'un TCD dans différents fichier Excel

  • Initiateur de la discussion Initiateur de la discussion FewRa
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

FewRa

XLDnaute Nouveau
Bonjour à tous


Voila mon problème, j'ai un TCD qui est formé de 6 colonnes dans un feuillet "A envoyer": voici les noms des colonnes
Nom de responsable - Date - Titre - Nom - Prenom - somme.
J'ai donc plus de 100 noms de responsable (environ 12000 ligne).

Je voudrais savoir si c'est possible de faire une macro pour exporter chaque groupe dans différent fichier excel avec comme nom de fichier le nom du responsable (colonne A).

Merci d'avance
 
Dernière édition:
Re : Exporter chaque groupe d'un TCD dans différents fichier Excel

Bonjour,
Si tu met le nom du responsable en champ de page, tu peux ensuite créer une feuille par responsable (afficher les pages) ensuite tu peux déplacer les feuilles dans des nouveaux fichier (par macro) il te faut juste la table avec les noms des responsables.
Cordialement
 
Re : Exporter chaque groupe d'un TCD dans différents fichier Excel

rebonjour à tous

j'arrive bien à faire les fichiers, mais je voudrais que ça soit une copie de valeur dans ces ficher et non le TCD.

j'arrive pas a mettre la fonction PasteSpecial dans mon code sans qu'il y ait d'erreur.

Voila le code que j'utilise pour créer les fichiers (celui qui marche)

Code:
Sub save()
Dim Feuille As Worksheet
Dim Classeur As Workbook
Dim Chemin As String
Chemin = InputBox("Sauvegarder", "C:\Desktop\excel", ActiveWorkbook.Path) 
If Chemin = "" Then Exit Sub 

Application.ScreenUpdating = False 

For Each Feuille In ActiveWorkbook.Sheets
    Feuille.Copy
    ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Feuille.Name + ".xlsx" 
    ActiveWorkbook.Close 
Next
Application.ScreenUpdating = True
End Sub

Et voila un des codes que j'essaie pour ne faire que des copies de valeurs

Code:
Sub save()
Dim Feuille As Worksheet
Dim Classeur As Workbook
Dim Chemin As String
Chemin = InputBox("Sauvegarder", "C:\Desktop\excel", ActiveWorkbook.Path) 
If Chemin = "" Then Exit Sub 

Application.ScreenUpdating = False 

For Each Feuille In ActiveWorkbook.Sheets
    Feuille.range("A1:E500").select
Selection.copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Feuille.Name + ".xlsx" 
    ActiveWorkbook.Close 
Next
Application.ScreenUpdating = True
End Sub

Quand je active cette macro, il ne crée qu'un seul fichier ou il y a tous les feuille du fichier original avec la première feuille où il y a eu une copie de valeur.

Merci d'avance pour votre aide
 
Re : Exporter chaque groupe d'un TCD dans différents fichier Excel

Re,
je ne suis pas un spécialiste en vba, mais il me semble que tu fermes le classeur dès la première feuille.
Je pense que le active workbook close doit être après le next.
Mais il faut d'abord déplacer chaque feuille dans un nouveau classeur avec feuille.copy

Cordialement
 
Dernière édition:
Re : Exporter chaque groupe d'un TCD dans différents fichier Excel

Donc ça pourrait donner quelque chose comme ceci
Sub save()
Dim Feuille As Worksheet
Dim Classeur As Workbook
Dim Chemin As String
Chemin = InputBox("Sauvegarder", "C:\Desktop\excel", ActiveWorkbook.Path)
If Chemin = "" Then Exit Sub
Application.ScreenUpdating = False
For Each Feuille In ActiveWorkbook.Sheets
Feuille.range("A1:E500").select
Selection.copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Next
For Each Feuille In ActiveWorkbook.Sheets
Feuille.copy
ActiveWorkbook.SaveAs Filename:=Chemin & "\" & Feuille.Name + ".xlsx"
ActiveWorkbook.Close
Next
ActiveWorkbook.Close

Application.ScreenUpdating = True
End Sub
à condition que Feuille.copy crée un nouveau classeur
 
Re : Exporter chaque groupe d'un TCD dans différents fichier Excel

Merci de ton aide

ça marche pas en le mettant après next, car normalement dans le premier code, ActiveWorkbook à la fin du code c'est le nouveau fichier qui est devenu le classeur actif donc fermeture du classeur actif.


edit: je viens de voir ton dernier message, je vais essayer
merci encore
 
Re : Exporter chaque groupe d'un TCD dans différents fichier Excel

j'y suis arrivé, je l'ai fait en deux etapes.
1er etape est le premier code
2ème étape j'ai copié collé dans le fichier déja créer

avec ce code:
Code:
Sub exporter()

Dim LeClasseur As Workbook
    Dim LeChemin As String
   Dim Lafeuille As Worksheet
   Dim feuille As Worksheet
 For Each Lafeuille In ActiveWorkbook.Sheets

Set LeClasseur = Workbooks.Open("C:\Desktop\excel\" & Lafeuille.Name & ".xlsx")
    For Each feuille In ActiveWorkbook.Sheets
    
feuille.Range("A1:E1000").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
ActiveWorkbook.SaveAs Filename:="C:\\Desktop\excel1" & "\" & feuille.Name + "1.xlsx"

    Next
    LeClasseur.Close
    Next
    
End Sub

Un grand merci à toi pour ton aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
663
Réponses
26
Affichages
1 K
Réponses
8
Affichages
1 K
Réponses
6
Affichages
686
Retour