Problème de macro

Bonsoir,

J'ai fait une macro pour créer un fichier excel qui extrait deux tableaux d'un fichier et les copiedans un nouveau fichier excel. Mon problème est le suivant :

Lorsque que j'exécute la macro alors que j'ai déja utilisé excel elle plante à la création du fichier.

Lorsque que je l'éxécute à la première execution d'excel cela fonctionne.

Workbooks.Add

Windows("problèmes solde.xls").Activate

Sheets("CR").Select

Selection.Copy

Windows("Classeur").Activate CA PLANTE SUR CETTE LIGNE

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Columns("B:B").ColumnWidth = 15.57

Columns("B:B").ColumnWidth = 17.57

Columns("G:G").ColumnWidth = 14.43

Range("N12").Select

Rows("1:1").RowHeight = 57.75

Sheets("Feuil1").Select

Windows("problèmes solde.xls").Activate

Sheets("dossiers MINDEF").Select

Range("A1:M29").Select

Application.CutCopyMode = False

Selection.Copy

Windows("Classeur4").Activate

Sheets("Feuil2").Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _

:=False, Transpose:=False

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Columns("D:D").ColumnWidth = 13

Columns("B:B").ColumnWidth = 17.43

Columns("B:B").ColumnWidth = 18.29

Columns("B:B").ColumnWidth = 19.43

Columns("B:B").ColumnWidth = 20.29

Columns("B:B").ColumnWidth = 20

Sheets("Feuil2").Select

Sheets("Feuil2").Name = "Dossiers MINDEF"

Sheets("Feuil1").Select

Sheets("Feuil1").Name = "CR"

Sheets("Feuil3").Select

Application.CutCopyMode = False

ActiveWindow.SelectedSheets.Delete

Sheets("CR").Select

Application.Run "'problèmes solde.xls'!Actualiser"

ChDir _

"P:\XXX\BUREAU_CONTROLE_SYNTHESE_RH\DROIT_FINANCIERS_INDIVIDUELS\SYNTHESES"

ActiveWorkbook.SaveAs Filename:= _

"P:\XXX\BUREAU_CONTROLE_SYNTHESE_RH\DROIT_FINANCIERS_INDIVIDUELS\SYNTHESES\SYNTHESE.xls" _

, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _

ReadOnlyRecommended:=False, CreateBackup:=False

ActiveWorkbook.Close

Range("J35").Select

End Sub

Voila c'est pas simple à expliquer mais bon.

Bonsoir

Le problème c'est que ton nouveau classeur ne s'appelle pas "Classeur"

Essayes cette macro ( juste une supposition par rapport à ton code)

J'ai un doute sur la page "dossiers MINDEF" tu copies que la zone A1:M29

Ton fichier serait utile en indiquant ce que tu veux copier exactement

J'ai adapté le chemin à mon test

Sub test()
  Sheets(Array("dossiers MINDEF", "CR")).Copy
  ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\SYNTHESE.xls" _
                , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
                ReadOnlyRecommended:=False, CreateBackup:=False
  ActiveWorkbook.Close
End Sub

Bonjour,

Je suis désolé j'étais absent.

Merci le code marche très bien.

Je voudrais en fait, faire une copie des tableaux et des résultats qui sont affichés dans les tableaux. Ces tableau sont plein de formules. Dans ma macro je fait un collage spécial pour avoir uniquement le tableau est les résultats de mes formules.

Merci encore.

Bon voila, j'ai mis un fichier test pour mon problème. je voudrais donc que lorsque je clic sur le bouton édition synthèse un nouveau fichier nommé synthèse soit créé et les deux onglets soient copiés dans ce nouveau fichier. Dans le nouveau fichier je voudrais juste le tableau et les chiffres ( pas de formules).

7test.zip (21.03 Ko)

Bonsoir

A tester

Merci

Cela fonctionne nickel. Me reste plus qu'à comprendre le code correctement. Encore merci

Rechercher des sujets similaires à "probleme macro"