Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1015 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] créer fichier excel à partir d'onglet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VBA] créer fichier excel à partir d'onglet

n°1904750
aguero
Posté le 12-07-2009 à 23:29:06  profilanswer
 

Bon voila,j ai pas trouvé de sujet répondant à ma question
 
En fait je cherche a créer un programme qui a partir d une liste dans excel  
-la dispache en differents onglets selon la valeur en première colonne renommé en fonction de cette première colonne
(exemple j ai la liste " 1 patrick lulu"
                           " 2 roger    lolo"
                           " 2 mikie    lolo"
                           " 3 pat      lili"
le programme la duplique en 3 onglet appellé 1,2,3 avec les differentes lignes classés dans les onglets correspondants)
-crée ensuite un fichier excel regroupant les onglets 5 par 5
(exemple j ai 11 onglets 1,3,5,7,9,11,13,15,17,19,21,j aurais 3 fichier excel,le premier avec les onglets 1,3,5,7,9 le second avec etc...)
 
 
J ai reussi a faire la première partie du programme mais j ai du mal pour la deuxième :hello:  
 
j arrive a créer un nouveau fichier à partir de certain onglets (voir proc en dessous) mais des que je change la procedure en indiquant au debut le nom des fichier(avec les byref),ca ne fonctionne plus et donc impossible de faire une boucle :(  
 
Sub SauvOngletFichier()
'copie les onglets de nom X Y et les sauvegarde dans un nouveau fichier excel appellé ZZZ
Worksheets(Array("X", "Y" )).Copy
ActiveWorkbook.SaveAs "ZZZ"
End Sub

 
Donc voila je suppose qu'il y a une reponse a mon problème mais étant donné que j'ai pas fait beaucoup de programmation objet j 'ai un peu de mal :(

mood
Publicité
Posté le 12-07-2009 à 23:29:06  profilanswer
 

n°1904777
olivthill
Posté le 13-07-2009 à 09:57:16  profilanswer
 

Je connais Excel, mais je n'ai jamais fait cela. Je vais quand même essayer de faire avancer le schmilblick.

Citation :

je change la procedure en indiquant au debut le nom des fichier(avec les byref)

Un exemple, SVP, pour qu'on se rende mieux compte ?
 
Le problème semble être au niveau de l'analyse plutôt qu'à celui de la programmation.
 
Quand on fait ActiveWorkbook.SaveAs, cela change le nom du fichier en cours, et c'est sans doute cela qui est gênant. Car après, pour revenir dans le fichier d'origine, cela n'est pas évident, parce qu'il doit surement falloir fermer le workbook en cours, et réouvrir le précédent. Mais les macros sont souvent liées à un workbook, et c'est peut-être là le problème. Il faudrait peut-être les déporter dans des "modules" indépendants des workbooks.
Ce serait sans doute plus simple s'il ne fallait mettre qu'une feuille par classeur, car alors on utiliserait ActiveSheet.SaveAs au lieu de ActiveWorkbook.SaveAs
 
Ensuite, au lieu de SaveAs, il y a peut-être d'autres moyens interessants.
Voir par exemple, http://www.vbforums.com/archive/in [...] 51820.html , où un nouveau Workbook est créé par Set wbk_New = Workbooks.Add puis une feuille est mise dedans par aSheet.Copy Before:=wbk_New.Worksheets(wbk_New.Worksheets.Count)
 
 
 
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VBA] créer fichier excel à partir d'onglet

 

Sujets relatifs
lecture/écriture fichier texte et conversion en données numériquesconnecter à une base de données Mysql via ODBC à partir d'un programme
Macro ExcelMacro excel 2007 remplir tableau recap
[Excel] Calcul de moyenne automatiséVBS Copier le nom d'un fichier
[Excel] Formule de recherche multicritère[VBA] Comment détecter les macros dans les classeurs .xls
récupérer une ligne de texte pointée dans un fichier txt[EXCEL] Identifier la cellule sélectionnée
Plus de sujets relatifs à : [VBA] créer fichier excel à partir d'onglet


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR