Bonjour,
Chaque semaine je reçois un fichier excel avec +/- 10 onglets :
Ce fichier est à éclater en autant de fichier que d'onglets. (si 10 feuilles alors 10 fichiers à générer).
A noter on dispose au départ d'un fichier XLS ou XLSX .
L'éclatement doit générer autant de fichiers CSV que de feuilles dans le fichier de départ.
Autre contrainte .
Le code VB doit être indépendant du fichier excel. C'est à dire un script en dehors du fichiers excel. En somme le code VB est à taper sur un bloc note et devra porter l'extension ".vb".
J'ai mis la main sur un code que j'avais , mais celui ci ne fait pas exactement ce que je veux :
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Private Sub CommandButton1_Click() Dim nom_feuille_classeur As String Dim nom_document As String Dim trigramme_apv As String Dim nouveau_fichier As String Dim repertoire_de_sauvegarde As String Dim lien_nouveau_fichier As String Dim Ws As Worksheet Dim Wb As Workbook Set Ws = ActiveSheet 'nom_feuille_classeur = ActiveSheet.Name ' recuperation nom de la feuille dans le classeur de départ Set Wb = Workbooks.Add trigramme_apv = Range("D6").Value ' recuperation nom de AVP Ws.Copy before:=Wb.Sheets(1) repertoire_de_sauvegarde = "M:\" ' nom repertoire ou mettre le nouveau fichier nouveau_fichier = Format(Date, "yyyymmdd") & " " & Ws.Range("D6") & " APV " & Ws.Name & " adherents .xlsm " ' nom du nouveau document lien_nouveau_fichier = repertoire_de_sauvegarde & nouveau_fichier ' nouveau document Wb.SaveAs Filename:=lien_nouveau_fichier ' lien nouveau fichier >> problème avec le ActiveSheet.SaveAs et le Filename:= , c est l erreur 1004 Wb.Close False End Sub
Merci de m'aiguiller![]()
Partager