Problème avec création de nouvelle classeur par vba puis remplissage du classeur

  • Initiateur de la discussion Initiateur de la discussion Daroumx
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Daroumx

XLDnaute Nouveau
Bonjour le forum,

Voila mon problème j'essaie de créer un nouveau classeur par vba via une macro dans un autre classeur.
Le nouveau classeur est crée avec comme nom : nomduclasseur + date d'aujourd'hui et une seule feuille nommée aussi.Mais quand j'essaie d'activer le nouveau classeur et remplir une de ces cellules j'ai un message d'erreur "Erreur d'exécution 9". Je ne suis pas trop familier avec les excel applications et tout ça j'ai juste pris le code d'un autre forum et essayé d'adapter.

Voici mon code:
Code:
Sub test()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Date_creation = now()
  Set xlApp = CreateObject("Excel.Application")
    xlApp.SheetsInNewWorkbook = 1
    Set xlBook = xlApp.Workbooks.Add
    xlBook.SaveAs ("NomFichier " + CStr(Format(Date_creation, "dd.mm.yy")) + " .xlsx")
    xlApp.Visible = True
    Set xlSheet = xlBook.Worksheets(1)
    xlSheet.Name = "NomDeMonuniquefeuille"
    NomMaFeuille = xlBook.Name
Windows(NomMaFeuille).Activate
Range("A1").Value = "test"
End Sub

ça bloque au niveau de windows(NomMafeuille).activate

Voila j'espère que j'ai été clair sinon je reste à votre disposition pour plus d'informations.En vous remerciant d'avance pour votre aide précieuse. 😉
 
Dernière édition:
Re : Problème avec création de nouvelle classeur par vba puis remplissage du classeur

Bonjour Daroumx
Pas certain d'avoir compris.
Ton problème viens, je pense, du fait que pour créer un classeur, tu creés une application Excel.
Par VBA ET depuis Excel, ce code suffit. Tu peux manipuler le nouveau classeur en utilisant NwWkb:
VB:
Sub test_2()
Dim Date_creation As String, NwWkb As Workbook
Date_creation = Format(Date, "dd-mm-yy")
Set NwWkb = Workbooks.Add(1)
NwWkb.Sheets(1).Name = "NomDeMonuniquefeuille"
NwWkb.SaveAs ThisWorkbook.Path & "\" & Date_creation & ".xlsx"
NwWkb.Sheets(1).Range("$A$1").Value = "test"
End Sub

Dans cet exemple, le nouveau classeur sera enregisté dans le même dossier que le classeur qui porte la macro.

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
937
Retour