[VBA] Création d'un nouveau classeur Excel...

Résolu
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
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. 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
    1. Bonjour,
      Comment tu fais pour choisir le chemin de la sauvegarde de ton fichier ceer
      0
    2. pour choisir le chemin ou tu vas sauvegarder ton fichier, tu remplace :
      xlBook.SaveAs ("Mon Classeur.xls") par xlBook.SaveAs ("C:\...\Mon Classeur.xls")
      0
    3. 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 "
      0
    4. Comment je peux choisir le chemin où je veux enregistrer mon classeur ?
      0
    5. @Nouveaupour 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
      0