Problème d'execution 1004 Methode SaveAs a échoué
Résolu
bela0202
Messages postés
8
Statut
Membre
-
bela0202 -
bela0202 -
Bonjour,
je corrige les anomalies et j'ai eu cette erreur Problème d'exécution 1004 Méthode SaveAs a échoué plus cette ligne :
pour plus de précision voici le bout de code :
Est qu'il y a quelqu'un qui peut m'aider là-dessus je serai reconnaissante,
Merci bcp
je corrige les anomalies et j'ai eu cette erreur Problème d'exécution 1004 Méthode SaveAs a échoué plus cette ligne :
wbA.SaveAs ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut,1) & ".xls"
pour plus de précision voici le bout de code :
Sub TerminerFichier(wb As Object, ldebut As Long, lfin As Long)
' Déclarations
Dim wbPartiel As Object
Dim wbA As Object
Set wbPartiel = CreateObject("Excel.Application")
wbPartiel.Application.Workbooks.Add
Set wbA = wbPartiel.ActiveWorkbook
wb.Worksheets(1).Range("A" & ldebut & ":Q" & lfin).Copy
wbA.Worksheets(1).Range("A1:Q" & lfin - ldebut + 1).Select
wbA.Worksheets(1).PasteSpecial
wbA.Worksheets(1).Range("A1:Q" & lfin - ldebut + 1).Sort Key1:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("B"), Order1:=xlAscending, Key2:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("C"), Order2:=xlAscending, Key3:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("D"), Order3:=xlAscending
FormatterFichier wbPartiel
' Vérification de l'absence de la génération précédente
If FileExists(ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls") Then
Kill ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls"
End If
wbA.SaveAs ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls"
wbA.Close
Set wbA = Nothing
Set wbPartiel = Nothing
' Appeler la compression du fichier
CompresserFichier wb.Worksheets(1).Cells(ldebut, 1)
End Sub(1).Cells(ldebut, 1)
End Sub
Est qu'il y a quelqu'un qui peut m'aider là-dessus je serai reconnaissante,
Merci bcp
6 réponses
-
Bonjour,
Comme tu sauvegardes en format ancien, il faut l'indiquer :wbA.SaveAs ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls", xlExcel7
-
-
Bonjour,
Pourtant, cela fonctionne mais il faut que ton sous-répertoire existe.
http://www.cjoint.com/c/FDgtOHlLSGl
Public Sub test() Dim wbA As Object Set wbA = ActiveWorkbook wbA.SaveAs ActiveWorkbook.Path & "\" & wbA.Worksheets(1).Cells(1, 1) & ".xls", xlExcel8 End Sub-
J'ai testé avec
wbA.SaveAs ActiveWorkbook.Path & "\" & wbA.Worksheets(1).Cells(1, 1) & ".xls", 56
et ca passe mais j'ai un autre message d'erreur :
Microsoft office Excel attend la fin de l'exécution d'une action OLE d'une autre application
est ce que vous avez une idée de qu'est ce que ca peut être ce problème encore
Merci pour votre aide -
-
-
Bonjour,
Finalement ca a marché pour l'enregistrement avec xlExel8 mais j'ai un problème les fichiers ne s'ouvre pas avec Excel 2013. est ce que je mets dans le code VBA l'extension xlsx pour que je puisse l'ouvrir sous excel 2013 ou quoi ?, car je travaille sur une machine virtuelle avec excel 97-2003 et je dois envoyé ces fichiers avec mon poste normal sous excel 2013 mais les fichiers sont illisible.
qu'est ce que je peux faire.
Merci pour votre aide -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
C'est quoi l'intérêt de créer une nouvelle session excel alors qu'il est déjà lancé ?
Sinon crée ton fichier en mode compatibilité, il sera directement au format 97-2003 plutôt que de devoir le convertir ensuite.
eric
-
Bonjour,
Merci bcp pour vos réponse, le problème que ce Code : '**************************************************************
'* TerminerFichier() *
'* Phase finale de formattage des fichiers *
'* *
'* *
'**************************************************************
Sub TerminerFichier(wb As Object, ldebut As Long, lfin As Long)
' Déclarations
Dim wbPartiel As Object
Dim wbA As Object
Set wbPartiel = CreateObject("Excel.Application")
wbPartiel.Application.Workbooks.Add
Set wbA = wbPartiel.ActiveWorkbook
wb.Worksheets(1).Range("A" & ldebut & ":Q" & lfin).Copy
wbA.Worksheets(1).Range("A1:Q" & lfin - ldebut + 1).Select
wbA.Worksheets(1).PasteSpecial
wbA.Worksheets(1).Range("A1:Q" & lfin - ldebut + 1).Sort Key1:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("B"), Order1:=xlAscending, Key2:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("C"), Order2:=xlAscending, Key3:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("D"), Order3:=xlAscending
FormatterFichier wbPartiel
' Vérification de l'absence de la génération précédente
If FileExists(ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls") Then
Kill ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls"
End If
wbA = ActiveWorkbook
wbA.SaveAs ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls", xlExecel8
wbA.Close
Set wbA = Nothing
Set wbPartiel = Nothing
' Appeler la compression du fichier
CompresserFichier wb.Worksheets(1).Cells(ldebut, 1)
End Sub
il crée les fichiers mais je viens de voir que les données sont inséré dans le tableau sous forme d'image c'est pour cela quand je l'ouvre avec office 2013 il est illisible, si vous pouvez m'aider a résoudre ce problème je serai reconnaissante je suis bloqué je ne sais pas quoi faire -
-
-
Bonjour,
Qui peut me dire ce qui ne vas pas sur ce code car j'ai tjrs l'erreur 1004
Sub TerminerFichier(wb As Object, ldebut As Long, lfin As Long)
' Déclarations
Dim wbPartiel As Object
Dim wbA As Object
Set wbPartiel = CreateObject("Excel.Application")
wbPartiel.Application.Workbooks.Add
Set wbA = wbPartiel.ActiveWorkbook
wb.Worksheets(1).Range("A" & ldebut & ":Q" & lfin).Copy
wbA.Worksheets(1).Range("A1:Q" & lfin - ldebut + 1).Select
wbA.Worksheets(1).PasteSpecial
wbA.Worksheets(1).Range("A1:Q" & lfin - ldebut + 1).Sort Key1:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("B"), Order1:=xlAscending, Key2:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("C"), Order2:=xlAscending, Key3:=wbPartiel.ActiveWorkbook.Worksheets(1).Columns("D"), Order3:=xlAscending
FormatterFichier wbPartiel
' Vérification de l'absence de la génération précédente
If FileExists(ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls") Then
Kill ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(ldebut, 1) & ".xls"
End If
wbA.SaveAs ActiveWorkbook.Path & "\resultat\" & wb.Worksheets(1).Cells(1, 1) & ".xls"
Set wbA = Nothing
Set wbPartiel = Nothing
' Appeler la compression du fichier
CompresserFichier wb.Worksheets(1).Cells(ldebut, 1)
End Sub