Coller donnée dans nouveau classeur Excel

Bonjour,

Je souhaite copier des données d'une feuille d'un classeur dans un nouveaux classeur excel que je créé via une macro.

En fait j'ai un userform ou je renseigne le nom du nouveau classeur que je souhaite créer puis je voudrais coller des donner dans ce nouveau classeur.

Je sais pas comment référencer un nouveau classeur dont le nom n'est pas de suite connu pour pouvoir y coller des donner.

voici ma macro :

Private Sub CommandButton1_Click()

UserForm1.Spreadsheet2.Range("A1:D20000").Copy

If IsEmpty(Range("C3")) Then

Worksheets("données tampon").Range("C3").Value.Paste

Else

Worksheets("données tampon").Range("IV2").End(xlToLeft).Offset(0, 1).PasteSpecial

End If

Dim xlApp As Excel.Application

Dim xlBook As Excel.Workbook

Dim xlSheet As Excel.Worksheet

Dim nom, test, typetest As String

'On créer l'objet Excel

Set xlApp = CreateObject("Excel.Application")

'On défini le nombre d'onglets (ici 5)

xlApp.SheetsInNewWorkbook = 1

'On ajoute un classeur

Set xlBook = xlApp.Workbooks.Add

'On donne un nom au classeur

nom = ComboBox1.Value

test = ComboBox2.Value

typetest = TextBox1.Value

xlBook.Saveas (ActiveWorkbook.Path & "\Données tests\" & nom + test + "-" + typetest)

'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 = "données"

'on libère l'objet onglet pour pouvoir en créer un nouveau ... etc

Set xlSheet = Nothing

'On remet la propriété de l'application à 3 (par défaut)

xlApp.SheetsInNewWorkbook = 3

'On ferme l'application

xlApp.Quit

Application.ScreenUpdating = True

Application.Calculation = xlCalculationAutomatic

End Sub

En gros, je voudrais copier une feuille et la coller dans un nouveau classeur excel qui est nommé via un textbox. Ce que je ne sais pas faire et qui me bloque, c'est le fait que je n'arrive pas a coller dans le nouveau classeur à cause du nom donné via textbox.

Voici mon fichier

24essai.zip (107.41 Ko)

personne pour m'aider

bon toujours personne pour me donner un coup de main?

Bonjour

J'ai des difficultés avec ton code

Mets ton fichier au format xls

voila en format xls.

27essai.zip (148.36 Ko)

Bonjour

Un essai

mais une sauvegarde du SpreadSheet dans une feuille Excel je ne sais pas faire et je serais curieux de savoir

J'ai essayé Copy mais comme message d'erreur j'ai "Référence de plage non valide"

Si quelqu'un connait qu'il partage son savoir

Merci

Merci pour ton aide.

En fait je peux faire une alternative en utilisant le spreadsheet pour coller dans le même classeur dans la feuilles données tampon. Puis après copier cette feuille donnée tampon puis la coller dans le nouveau classeur.

Bonjour

Mais la copie du spreadsheet fonctionne ?

J'ai raté quelque chose

Avec ce code oui :

UserForm1.Spreadsheet2.Range("A1:D20000").Copy

If IsEmpty(Range("C3")) Then

Worksheets("données tampon").Range("C3").Value.Paste

Else

Worksheets("données tampon").Range("IV2").End(xlToLeft).Offset(0, 1).PasteSpecial

End If

du coup les données sont collées dans la feuille données tampon.

Moi après je sais pas comment copier cette feuille dans un nouveau classeur créée via l'userform dont tu as simplifier le code pour l'enregistrement des données.

Merci

Bonjour

Pour que cela fonctionne j'ai du modifier cette ligne

Worksheets("données tampon").Range("C3").Value.Paste

A vérifier dans le programme si ma modification ne gène pas

ça marche nickel! Merci beaucoup!

Par contre juste un détail certainement, je voudrais que la feuille données tampon soit vide après le copier coller pour pas avoir des données présentes dans cette feuille.

Et aussi cette ligne de code ne sert à rien en fait : .Range("IV2").End(xlToLeft).Offset(0, 1).PasteSpecial .

Mais je sais pas pourquoi, quand je l enlève ça marche plus...

Et encore juste une chose, je préférerais que mes données soit collées dans le nouveau classeur en colonne A et B ligne 2. Et la pareil quand je modifie ça, ça plante. Il y a un truc que je ne comprend pas.

Bonsoir

La feuille est effacée après

Mais tu copies de A1 à D2000 et tu veux le résultat en A2 à B...

Un problème je ne sais pas faire tenir 4 colonnes dans 2

Le code recopie tes données (A1:D20000) à partir de A2

Rechercher des sujets similaires à "coller donnee nouveau classeur"