ajoute automatique d'onglet nouveau fichier

Guy55

XLDnaute Junior
A partir de la feuille ''1'' d'un fichier qu'on appellera ''AA'', comment , au déclenchement manuel d'une macro, ouvrir un nouveau fichier nommé ''BB'' et générer autant de feuilles qu'il y a de ligne dans la colonne du fichier '' AA'' ?
Le nom des onglets du fichier ''BB'' sera alphanumérique.
La finalité et de recopier les éléments des lignes du fichier AA ( même ligne, colonne diférentes ) dans le fichier '' BB '' a des endroits précis ( genre col A ligne 5, col A , ligne 8 , ect ... ).
A date, je suis capable de générer automatiquement des feuilles dans un même fichier avec un nom d'onglet égal aux element A1 .. A10
Merci pour toute l'aide disponible
Guy
 

deudecos

XLDnaute Impliqué
Re : ajoute automatique d'onglet nouveau fichier

Salut Guy,

Dans un module, tu ajoute ce code :

Dim L As Integer, i As Integer, ws As Worksheet
Dim NomClas As String
NomClas = Sheets("Feuil1").Range("B1")
Workbooks.Add
ChDir "D:\Documents and Settings\Administrator\Desktop"
ActiveWorkbook.SaveAs Filename:= _
"D:\Documents and Settings\Administrator\Desktop\" & NomClas & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
AjoutOnglets
Set ws = Workbooks("Classeur1").Sheets("Feuil1")
L = ws.Range("A65536").End(xlUp).Row

For i = 1 To L
If ws.Range("A" & i) = "" Then Exit Sub

Sheets.Add
ActiveSheet.Name = Workbooks("Classeur1").Sheets("Feuil1").Range("A" & i)
Next

Ce qui te creera un nouveau classeur ayant le nom qui est ecrit dans la cellule B1 de la feuil1.
Et pour chaque cellule de la colonne A, il creer une nouvelle feuille et lui attribue le nom inscrit dans la cellule correspondante.

A adapter a tes besoins bien sur.

Pour le reste, fais deja ca et envois le nous en fichier joint.

Bonne journee

Olivier

PS J'oublais, le code en question doit etre attribue a un bouton de preference... :)
 

Guy55

XLDnaute Junior
Re : ajoute automatique d'onglet nouveau fichier

A partir de la feuille ''1'' d'un fichier qu'on appellera ''AA'', comment , au déclenchement manuel d'une macro, ouvrir un nouveau fichier nommé ''BB'' et générer autant de feuilles qu'il y a de ligne dans la colonne du fichier '' AA'' ?
Le nom des onglets du fichier ''BB'' sera alphanumérique.
La finalité et de recopier les éléments des lignes du fichier AA ( même ligne, colonne diférentes ) dans le fichier '' BB '' a des endroits précis ( genre col A ligne 5, col A , ligne 8 , ect ... ).
A date, je suis capable de générer automatiquement des feuilles dans un même fichier avec un nom d'onglet égal aux element A1 .. A10
Merci pour toute l'aide disponible
Guy

Bonjour tous le monde,
Bonjour Olivier,
J'ai attaché le fichier en question avec la macro.
J'ai un message d'erreur sur une sub ou fonction non définie .
J'ai encore besoin d'aide
Merci
Guy
 

Pièces jointes

  • Classeur1.xls
    26.5 KB · Affichages: 71
  • Classeur1.xls
    26.5 KB · Affichages: 81
  • Classeur1.xls
    26.5 KB · Affichages: 80

Guy55

XLDnaute Junior
Re : ajoute automatique d'onglet nouveau fichier

Salut Guy, Papapaul,

Papapaul a raison, J'ai oublie de virer AjoutOnglets du code. Oups !

Bonne journee

Olivier

Bonjour Papapaul et Olivier et tout le monde
J'ai bien placé AjoutOnglet en commentaire et il bloque sur cette ligne en me disant que l'indice n'appartient pas a la selection

Set ws = Workbooks("Classeur1").Sheets("Feuil1")

Merci encore pour votre aide
 

ChTi160

XLDnaute Barbatruc
Re : ajoute automatique d'onglet nouveau fichier

Salut Guy
bonjour le fil

voila ce que j'ai mis pour que cela fonctionne .
Jai modifié le chemin plus pratique Lol
en rouge ce qu'il ne faut pas oublier
le nom du Classeur source est Classeur1-1 et Non Classeur1 avec bien sur l'extension
Code:
Sub feuille1()

Dim L As Integer, i As Integer, ws As Worksheet
Dim NomClas As String
'Le nom du nouveau fichier se trouve en B1 du fichier de départ Essai.xls
NomClas = Sheets("Feuil1").Range("B1")
Workbooks.Add

'Chemin ou sera additionné mon nouveau fichier"
ChDir "C:\"

ActiveWorkbook.SaveAs Filename:= _
"C:\" & NomClas & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False


'Création de autant de feuille dans le nouveau fichier Essai.xls
'qu'il y a de ligne dans la colonne A du fichier de départ Essai.xls

'AjoutOnglets
Set ws = Workbooks("Classeur1[COLOR=Red]-1.xls[/COLOR]").Sheets("Feuil1")
L = ws.Range("A65536").End(xlUp).Row

For i = 1 To L
If ws.Range("A" & i) <> "" Then

Sheets.Add
ActiveSheet.Name = Workbooks("Classeur1[COLOR=Red]-1.xls[/COLOR]").Sheets("Feuil1") _
                                                       .Range("A" & i)
End If
Next

End Sub
Bonne fin de Journée ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 959
Membres
103 990
dernier inscrit
lamiadebz