Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Création d'un classeur automatique en vba

br44

XLDnaute Impliqué
Bonjour le forum


je voudrais savoir si il existe une procèdure vba pour créer un nouveaux classeur automatiquement en vba ?

En èspèrant que ma demande soit claire et vous remerciant par avance du coups de main je vous dit à bientôt sur se fil . Amicalement Br44
 

job75

XLDnaute Barbatruc
Re : Création d'un classeur automatique en vba

Bonjour,
Workbooks.Add, mais vous auriez pu consulter l'aide VBA.
A+

Edit : désolé Julie
 
Dernière édition:

br44

XLDnaute Impliqué
Re : Création d'un classeur automatique en vba

Re: Rebonjour au forum ,Job75,Julie Tlse


Un grand merçi pour cette rèponse et comme dit job75, je vais consulter l'aide vba pour la suite . Amicalement à tous BR44
 

br44

XLDnaute Impliqué
Re : Création d'un classeur automatique en vba

Re: rebonjour à tous ,

bon je crois qu'une fois de plus je me suis mal exprimè et j'en suis dèsolé .

Se que je voudrais faire est de crèer un nouveau classeur à partir d'un classeur existant est de l'affecter un chemin .

Je m'explique en partant d'un classeur "A.xls" je voudrais pouvoir créer un nouveau classeur que j'applerais "B.xls" à placer dans la directori suivante:

C:\RAPID\SAUVEGARDE\

Voici le dèbut de ma macro :

Option Explicit 'Déclare toutes les variables
'Déclare le Chemin vers "B.xls"
Const Chemin As String = "C:\RAPID\SAUVEGARDE\"""

Private Sub AddNew()

'Définit la varible Newbook
Set NewBook = Workbooks.Add
With NewBook
.Title = "B "
.Subject = "B"
.SaveAs Filename:="B.xls"
End With
End Sub

Voilà où j'en suis actuellement . Si quelqu'un peut m'aider pour terminé cette partie se serais sympas .

A noter : Le classeur "A" contient douze feuilles est-il possible que le nouveaux classeur en contiennent autant si cela ne complique pas tout ?

Si cela n'était pas possible à rèaliser est-il possible de copier un classeur existant de changer le nom (de la copie),et de la placer dans le nouveau chemin indiquer ci-dessus ?


Pour tout ceci je vous en remercie par avance et vous à bientôt sur se post . amicalement BR44
 

br44

XLDnaute Impliqué
Re : Création d'un classeur automatique en vba

Re: bosoir à tous

j'ai rechercher sur le forum si je ne trouvrais pas quelque chose qui m'aidrais .

Et j 'ai trouver une macro de notre cher ami Skoobi qui date du mois de mars 2008

elle permet de copier 50 classeur ouvert vers un seul ,voici ça macro :

Sub sauve()
Dim classeur As Workbook
For Each classeur In Workbooks
If classeur.Name <> ThisWorkbook.Name Then
classeur.SaveAs "C:\Users\Alex\Desktop\Nouveau dossier\" & classeur.Sheets(1).Name & ".xls"
classeur.Close
End If
Next
End Sub

J'ai modifier cette macro de la facon suivante :

Option Explicit 'Déclare toutes les variables

Private Sub SauvegardeFacture()
Dim classeur As Workbook

If classeur.Name <> ThisWorkbook.Name Then

classeur.saveAs "C:\RAPID\SAUVEGARDE\" & classeur.Sheets(12).Name & ".xls"

classeur.Close

End If
End Sub

Mon soussi est que le nouveau classeur n'apparait pas dans le chemin quand je regarde le resultat? j'ai placé la macro dans le thisworkbook du classeur "A.xls" .


Mes question sont :

1) Ai-je bien placé ma macro ?

2) Faut-il créer le classeur avant ?

Voilà où j'en suis pour l'instant si l'auteur ,où quelqu'un peut m'aider à terminer et à comprendre comment fonctionne cette macro se serais bien .


En vous remerciant par avance je vous dit à pluqs sur se fil . Amicalement Br44
 

skoobi

XLDnaute Barbatruc
Re : Création d'un classeur automatique en vba

Bonsoir le fil,
Et j 'ai trouver une macro de notre cher ami Skoobi qui date du mois de mars 2008
Cette macro crée un nouveau fichier pour tous les fichiers ouverts sauf celui contenant la macro, donc, si tu n'as que le fichier de la macro ouvert, rien ne se passe....

essaie plutôt ceci:

............
ThisWorkbook.saveAs Chemin & "\B.xls"
Set NewBook = ActiveWorkbook
With NewBook
.Title = "B "
.Subject = "B"
.SaveAs Filename:="B.xls"
End With

Bonne soirée
 

br44

XLDnaute Impliqué
Re : Création d'un classeur automatique en vba

Re:Bonjour Skoobi,le forum


Tout d'abord merçi pour ta rèponse je test et te tient au courant .

Une petite question subsidiaire en passant :

Quelle diffèrance entre SaveAS et SaveCopyAs ?


Car si c'est que je crois la deuxième solution me semblera peut-être plus juditieux ?

Oui car si SaveCopyAS copie le classeur ouvert à l'identique cela m'èviterais d'avoir à reonter tout les onglets dans le nouveaux classeur ?


En te remerciant par avance je te dit à plus sur se fil . Amicalement BR44
 

br44

XLDnaute Impliqué
Re : Création d'un classeur automatique en vba

Re:Rebonjour à tous ,

Skoobi : J'ai placé ma macro dans le thisworkbook mais rien ne se passe .

Je suppose qu'il me manque une fonction pour que la macro s'enclanche mais je ne vois pas ormis de rajouter une condition ?


Si tu as une petite explication pour cela se serais chouette .


En te remerciant par avance je te dis à plus .Amicalement BR44
 

skoobi

XLDnaute Barbatruc
Re : Création d'un classeur automatique en vba

Bonjour br44,
Quelle diffèrance entre SaveAS et SaveCopyAs ?
SaveAS cré une copie du classeur, ferme le classeur d'origine et active le classeur créé (comme enregistrer sous d'excel)
SaveCopyAs cré une copie du classeur mais garde le classeur d'origine ouvert.
Skoobi : J'ai placé ma macro dans le thisworkbook mais rien ne se passe .

tout dépend quand tu veux que la copie se fasse.
Quand tu clique sur un bouton, à l'ouverture du classeur, quand tu sélectionnes une feuille précise etc... ?
 

br44

XLDnaute Impliqué
Re : Création d'un classeur automatique en vba

Re: bonsoire Skoobi ,le forum


Je te remerçi pour ton dernier message .

J'ai un petit soussi la copie du classeur n'apparait nul part ni dans le chemin crèer ,ni dans un autre endroit ?


Voici la macro que j'ai faite est placè dans le ThisWorkbook :

Private Sub SauvegardeFacture()
'Déclare la variable Chemin
Dim Chemin As String
'Déclare la variable NewBook
Dim NewBook As Workbook

'Définit La varaible Chemin
Set Chemin = "C:\RAPID\SAUVEGARDE\"

ThisWorkbook.saveAs Chemin & "\B.xls"
'Définit la variable NewBook
Set NewBook = ActiveWorkbook
With NewBook
.Title = "B"
.Subject = "B"
.saveAs Filename:="B.xls"
End With

End Sub


Si tu vois où cela peut bloquée ,mois je ne vois pas ?

Pour rèpondre à ta question :

Je voudrait que la copie se d'éclanche quand à la première cellule vide de la dernière feuille ("Décembre") du classeur "A.xls" soit trouver .


Te remerciant par avance pour tout je te dit à bientôt sur se fil .

Bonne soirée à toi et à tout le forum .Amicalement Br44
 

skoobi

XLDnaute Barbatruc
Re : Création d'un classeur automatique en vba

Re,

ThisWorkbook et les Feuil1, Feuil2 etc... sont réservés aux macro événementielles.
Tu ne peux y mettre un code classique, il ne marchera pas.
Fais une recherche sur macro événementielle si tu ne connais pas.
Je voudrait que la copie se d'éclanche quand à la première cellule vide de la dernière feuille ("Décembre") du classeur "A.xls" soit trouver .
Dans ce cas tu as surement une macro déjà existant dans lequel tu y mets les lignes supplémentaires pour la sauvegarde.
 

br44

XLDnaute Impliqué
Re : Création d'un classeur automatique en vba

Re:Bonsoir,skoobi ,le forum


Je te remercie pour ton dernier message et de la rèponse fourni .


J'ai eu beau essayer de créer le nouveau classeur ça ne marche pas .


Ce n'est pas grave j'ai crée le chemin ainsi que le nouveaux classeur . Il ne me reste plus qu'a programer le copie du classeur conserner vers le nouveaux .

je mets donc fin à se post ,sans omêtre de remercier tous ceux qui ont participer et essayer de m'aider dans ma demarche . Amicalement BR44
 

Discussions similaires

Réponses
12
Affichages
592
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…