Bonjours a tous,
J'essaye de faire une macro afin de créer un workbook ,ou l'utilisateur dois choisir le titre , ( Cf les deux InputBox ) puis de copier les données comprises dans le range dans le classeur ainsi créé (le range étant situé sur la feuille de travail ou est aussi positionné le CommandButton)
Tout se deroule sans accros au niveau de la création de mon classeur, de son titrage, du titrage de la feuille et de la copie. Mais quand arrive le moment de copier un erreur d'execution '9' apparait ( au niveau de la ligne en dessous de 'Coller').
Je voulais donc savoir s'il y avait un moyen d'activer mon classeur malgrés un nom variable et pareil pour la selection de la feuille (car je pense que j'aurais le même probleme pour la selection de la feuille ).
Merci d'avance de votre réponse.
Oymar
J'essaye de faire une macro afin de créer un workbook ,ou l'utilisateur dois choisir le titre , ( Cf les deux InputBox ) puis de copier les données comprises dans le range dans le classeur ainsi créé (le range étant situé sur la feuille de travail ou est aussi positionné le CommandButton)
Tout se deroule sans accros au niveau de la création de mon classeur, de son titrage, du titrage de la feuille et de la copie. Mais quand arrive le moment de copier un erreur d'execution '9' apparait ( au niveau de la ligne en dessous de 'Coller').
Je voulais donc savoir s'il y avait un moyen d'activer mon classeur malgrés un nom variable et pareil pour la selection de la feuille (car je pense que j'aurais le même probleme pour la selection de la feuille ).
Code:
Private Sub CommandButton2_Click()
Dim XlApp As Excel.Application
Dim XlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set XlApp = CreateObject("Excel.Application")
XlApp.SheetsInNewWorkbook = 1
Set XlBook = XlApp.Workbooks.Add
TitreClasseur = InputBox("Titre du classeur : ", "IDENTIFICATION")
XlBook.SaveAs TitreClasseur
XlApp.Visible = True
TitreFeuille = InputBox("Titre de la feuille : ", "IDENTIFICATION")
Set xlSheet = XlBook.Worksheets(1)
xlSheet.Name = TitreFeuille
Set xlSheet = Nothing
XlApp.SheetsInNewWorkbook = 1
'Copier'
Windows("Fauillecalc.xls").Activate
Sheets("Calcul").Select
Sheets("Calcul").Range("G28:G39").Copy
'Coller'
Windows(TitreClasseur).Activate
Sheets(TitreFeuille).Select
ActiveSheet.Unprotect
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
ActiveSheet.Protect
XlApp.SaveWorkspace TitreClasseur
XlApp.Quit
End Sub
Merci d'avance de votre réponse.
Oymar