Problème copie/colle puis fermeture classeur

Bonjour à tous,

Je débute sur ce forum, un peu moins sur Excel et je suis devant un problème que je ne parviens pas à résoudre.

D'abord ce que je cherche à faire :

Je possède une belle feuille Excel (avec des image et du texte) jusque là tout va bien

Puis jai un bouton qui m'ouvre une userform me proposant de copier les 6 premières colonnes ma feuille Excel (en gardant la mise en forme) dans un nouveau classeur puis de fermer l'ancien et là ça se gate

J'arrive à ouvrir le nouveau classeur et à copier mes données dedans mais le fait de fermer mon classeur automatiquement fait planter Excel.

C'est à dire que lorsque je suis sur mon nouveau classeur, je ne peux plus sauvegarder, ou fermer Excel (les boutons ne marche pas) je ne parviens pas non plus à séléctionner ou à écrire dans une cellule par contre si j'ajoute une nouvelle feuille sur ce classeur, tout se débloque...

Voici mon code :

Private Sub Exporter_Click()

'fermeture userform
Unload Exportation

'ouverture et copie dans un nouveau doc
Columns("A:F").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Range("A1").Select

'*****Fermeture classeur*****

Windows("Mon_classeur.xlsm").Activate
Application.CutCopyMode = False
ActiveWorkbook.Close False

End Sub

Petit plus rigolo, le code ci dessus fonctionnait parfaitement sur Excel 2010 et je ne constate ce problème que depuis mon passage sur la version 2013

J'ai également essayé le code ci dessous pour contourner mon problème, Excel ne "plante" plus mais il m'ouvre quand meme une fenêtre me proposant de sauvegarder l'ancien classeur (ce que je souhaiterais eviter) et en plus cela me desactive le pave numérique

Private Sub Exporter_Click()

'fermeture userform
Unload Exportation

'ouverture et copie dans un nouveau doc
Columns("A:F").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Range("A1").Select

'*****Fermeture classeur*****

Windows("Mon_classeur.xlsm").Activate
Application.CutCopyMode = False
Application.DisplayAlerts = False
Application.SendKeys ("^{F4}")
End Sub

J'espère avoir été clair et je vous remercie d'avance pour votre aide et je m'excuse si la question a déjà été posée mais j'ai du mal à nommer mon problème donc la recherche est peu aisée

Bonne journée

Bonjour

le fichier Mon_classeur.xlsm est bien cela qui contient le code et duquel vous copier les données dans un nouveau classeur ?

Si oui, essayez comme ceci :

Private Sub Exporter_Click()
'fermeture userform
Unload Exportation
Workbooks.Add
'ouverture et copie dans un nouveau doc
ThisWorkbook.ActiveSheet.Columns("A:F").Copy ActiveWorkbook.Sheets(1).Range("A1")

'*****Fermeture classeur*****
ThisWorkbook.Close False
End Sub

Si ok, merci de cloturer le fil en cliquant sur le v vert à coté du bouton EDITER lors de votre réponse

Cordialement

Bonjour et merci Dan pour la réponse rapide,

C'est bien effectivement Mon_Classeur.xlsm qui contient le code, et que je souhaite copier puis fermer.

J'ai essayé le code que tu m'as fourni et malheureusement j'ai toujours le meme problème à savoir que la copie se passe bien mais une fois sur le nouveau classeur, je n'ai pas la possibilité de fermer ou de sauvegarder mon fichier

J'ai mis ci joint un fichier test avec juste la fonction exportation (qui fait planter Excel chez moi).

Si ca plante uniquement chez moi c'est que le problème ne vient pas du code mais d'ailleurs.

Merci et bonne journée

71test-macro.xlsm (18.78 Ko)

Re

....je n'ai pas la possibilité de fermer ou de sauvegarder mon fichier...

Je suppose que vous parlez du fichier créé par le code ?. Si oui, il faut sauvegarder votre nouveau fichier avant de fermer celui contenant le code

Par exemple vous mettez cette instruction juste avant Thisworkbook.close --> ActiveWorkbook.SaveAs "Tata.xlsx"

cordialement

Effectivement en sauvegardant mon nouveau fichier avant "ThisWorkbook.Close" puis en fermant les 2 classeurs, cela résout mon problème. Je n'ai ensuite qu'à rouvrir mon fichier et tout est bon

Merci pour votre aide et je cloture le sujet

Rechercher des sujets similaires à "probleme copie colle puis fermeture classeur"