[VBA] Création d'un nouveau classeur Excel... [Résolu/Fermé]

Signaler
Messages postés
21
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
29 octobre 2008
-
 ll -
Bonjour,

J'aimerai savoir si depuis un classeur Excel, on peut créer un autre classeur avec 5 onglets, chaque onglets ayant un nom spécifique, et le sauvegarder.

Merci pour vos réponses et de votre aide ... je suis nul en programmation.

A bientôt de vous lire

3 réponses

Messages postés
21
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
29 octobre 2008
81
Bonjour,

J'ai progressé en VBA. Je laisse ici le code que j'ai employé. Pas forcément le top, mais répond au besoin :

Sub AddNewWorkbook()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

    'On créer l'objet Excel
    Set xlApp = CreateObject("Excel.Application")
    'On défini le nombre d'onglets (ici 5)
    xlApp.SheetsInNewWorkbook = 5
    'On ajoute un classeur
    Set xlBook = xlApp.Workbooks.Add
    'On donne un nom au classeur
    xlBook.SaveAs ("Mon Classeur.xls")
    'On rend le classeur visible
    xlApp.Visible = True
    'On créer l'objet onglet dans le nouveau classeur créé
    Set xlSheet = xlBook.Worksheets(1)
    'On affecte un nom aux l'onglets
    xlSheet.Name = "Janvier"
    'on libère l'objet onglet pour pouvoir en créer un nouveau ... etc
    Set xlSheet = Nothing
    '
    '
    Set xlSheet = xlBook.Worksheets(2)
    xlSheet.Name = "Février"
    '
    '....... On donne un nom à chaque onglets
    '
    '
    'On remet la propriété de l'application à 3 (par défaut)
    xlApp.SheetsInNewWorkbook = 3
    'On ferme l'application
    xlApp.Quit
    
End Sub


Cdlt.

PS: Phil, si tu repasses par là, tu as le bonjour du paresseux.
88
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 87029 internautes nous ont dit merci ce mois-ci

Bonjour,
Comment tu fais pour choisir le chemin de la sauvegarde de ton fichier ceer
pour choisir le chemin ou tu vas sauvegarder ton fichier, tu remplace :
xlBook.SaveAs ("Mon Classeur.xls") par xlBook.SaveAs ("C:\...\Mon Classeur.xls")
Bonjour
Comment je peux travailler sur le nouveau fichier par exemple j'ai essayer avec ça :
"Workbooks("Mon Classeur").Worksheets("Sheet1").Range("G").Value = ActiveWorkbooK.ActiveSheet.Range("G").Value"
Dans le meme script de creation , on fait je veux créer un nouveau fichier "Mon Classeur" et je veux transférer des informations de ActiveWorkbook vers Workbooks("Mon Classeur").

Mais toujours il m'afficher une erreur " subscript out of range "
Comment je peux choisir le chemin où je veux enregistrer mon classeur ?
> Nouveau
pour choisir le chemin.

Function PrendreChemin() As String
Dim repertoir As FileDialog
Dim sItem As String
Set repertoir = Application.FileDialog(msoFileDialogFolderPicker)
With repertoir
.Title = "choisissez la bonne répertoire"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo NextCode
sItem = .SelectedItems(1)
End With
NextCode:
PrendreChemin = sItem
Set repertoir = Nothing
End Function

Function PrendreFichiers() As String
Dim fd As FileDialog
Dim fichiers As String
Dim fichier As Variant

Set fd = Application.FileDialog(msoFileDialogFilePicker)
fichiers = ""
With fd
.Filters.Clear
.Filters.Add "All files", "*.*"
.Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1
.Filters.Add "Excel", "*.xls; *.xlsx; *.xlsm", 2
.Filters.Add "Word", "*.doc; *.docx; *.docs", 3
If .Show = -1 Then
For Each fichier In .SelectedItems
If fichiers <> "" Then
fichiers = fichiers + ";" + fichier
Else
fichiers = fichier
End If
Next fichier
End If
End With
Set fd = Nothing
PrendreFichiers = fichiers
End Function
Bonjour tout le monde,

Comment puis-je faire pour qu'à chaque fois que j'active ma macro il créé un nouveau fichier mais qui existe déjà dans un dossier et l'enregistrer sans pour autant écraser le fichier d'origine ?
(peut-être un peu tard comme réponse)
tu peux les sauvegarder en concaténant le nom du fichier désiré et la date (et l'heure éventuellement) de la sauvegarde. Ainsi, tu as des noms de fichiers différents à chaque activation de la macro.
> Couette²
Comment fais tu cela ?
Cordialement
Léo
Salut,

Comment je peux remplir un fichier excel déjà creé avec un code VBA ?
Voici le code :


Private Sub CommandButton1_Click()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

'On créer l'objet Excel
Set xlApp = CreateObject("Excel.Application")
'On défini le nombre d'onglets (ici 5)
xlApp.SheetsInNewWorkbook = 5
'On ajoute un classeur
Set xlBook = xlApp.Workbooks.Add
'On donne un nom au classeur
xlBook.SaveAs ("P:\Supply_Chain\Order.xls")
'On rend le classeur visible
xlApp.Visible = True
'On créer l'objet onglet dans le nouveau classeur créé
Set xlSheet = xlBook.Worksheets(1)
'On affecte un nom aux l'onglets
xlSheet.Name = "Alert"

End Sub

Ce fichier "Alert" je veux le remplir par un autre fichier

Merci