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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Macro pour sauver la feuille courante dans un nouveau classeur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Macro pour sauver la feuille courante dans un nouveau classeur

n°2217819
M-V
Avatar non valide
Posté le 28-01-2014 à 10:03:19  profilanswer
 

Hello hello,

 

J'ai un classeur divisé en 54 feuilles correspondants chacune à un set d'instruction que je dois passer chaque semaine un interlocuteur.
Je me suis dis que je suis feignant et que j'ai la flemme de remplir mon tableau, de le copier/coller dans une nouvelle feuille que je vais Sauvegarder dans un nouveau document. Alors je pourrais faire une macro qui le fait à ma place.

 

En cherchant un peu, j'ai trouvé ceci

 
Code :
  1. Sub Macro2()
  2.    
  3.     For Each feuille In ActiveWorkbook.Sheets
  4.     feuille.Copy
  5.     With ActiveWorkbook
  6.     .Title = feuille.Name
  7.     .Subject = feuille.Name
  8.     .SaveAs Filename:="animation_HP" + feuille.Name + ".xls"
  9.     End With
  10.    
  11.     Next
  12.     End Sub
 

Cette macro marche plutôt bien, même très bien, voire trop bien dans mon cas et applique ça à l'ensemble de mon classeur. Résultat, ça crée et ouvre tout seul 54 documents dans lesquels je retrouve mes instructions (j'ai testé et Excel 2010 a commencé à pleurer, true story  [:fail] )
J'ai jamais réellement écrit du VBA, mais j'ai compris qu'une partie du problème se trouve dans la boucle For Each feuille In ActiveWorkbook.Sheets.

 

Dont en une phrase, quelle est la syntaxe VBA pour ne sélectionner que la page courante au lieu de lancer une boucle sur l'ensemble de mon classeur?

 

Merci à qui prendra le temps de me lire  :jap:


Message édité par M-V le 28-01-2014 à 10:23:02
mood
Publicité
Posté le 28-01-2014 à 10:03:19  profilanswer
 

n°2217836
MaybeEijOr​Not
but someone at least
Posté le 28-01-2014 à 11:04:11  profilanswer
 

Pas testé mais je ne vois pas pourquoi ça ne fonctionnerait pas :
 

Code :
  1. Sub Macro1()
  2.      
  3.     ActiveSheet.Copy
  4.     With ActiveWorkbook
  5.      .Title = ActiveSheet.Name
  6.      .Subject = ActiveSheet.Name
  7.      .SaveAs Filename:="animation_HP" + ActiveSheet.Name + ".xls"
  8.     End With
  9.      
  10. End Sub


 
Par contre Excel 2010 c'est .xlsx je crois.

n°2218227
M-V
Avatar non valide
Posté le 31-01-2014 à 11:20:24  profilanswer
 

Salut, et merci pour le coup de main :)
 
Ta fonction fait bien ce que je veux, mais elle sauvegarde le nouveau fichiers dans le répertoire Mes Documents.
 
Comment est-ce que je peux faire pour que, quel que soit l'endroit ou se trouve mon classeur original (en local ou sur un serveur de partage), la nouvelle feuille extraite soit sauvegardée au même endroit?
 
Merci d'avance pour ta réponse :jap:

n°2218229
MaybeEijOr​Not
but someone at least
Posté le 31-01-2014 à 11:33:22  profilanswer
 

Code :
  1. Sub Macro1()
  2.     chemin = ActiveWorkbook.Path
  3.     ActiveSheet.Copy
  4.     With ActiveWorkbook
  5.      .Title = ActiveSheet.Name
  6.      .Subject = ActiveSheet.Name
  7.      .SaveAs Filename:=chemin + "\animation_HP" + ActiveSheet.Name + ".xls"
  8.     End With
  9. End Sub

n°2218235
M-V
Avatar non valide
Posté le 31-01-2014 à 11:55:25  profilanswer
 

Super, merci beaucoup :)
 
J'avais vu la variable ActiveWorkbook.Path mais je savais pas vraiment comment l'intégrer au bouzin :jap:
 
Bonne journée


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

  Macro pour sauver la feuille courante dans un nouveau classeur

 

Sujets relatifs
Créer macro pour ajout de ligne en cas de doublonsune feuille = une PAGE PDF
Copier une feuille dans un nouveau classeurExcel 2010 - Ruban disparait lorsque le classeur n'est plus actif
extraire une feuille de plusieurs classeurs vers un autre classeurMacro Word pour edition d'une nouvelle.
Plus de sujets relatifs à : Macro pour sauver la feuille courante dans un nouveau classeur


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