[VBA] Erreur methode .Saveas sous Excel 2003

  • Initiateur de la discussion Initiateur de la discussion arthur203
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

arthur203

XLDnaute Junior
Bonjour,

J'ai une macro qui lorsque l'on appuie sur un bouton crée un mail et joint le classeur en cours à ce mail tout marche parfaitement sous Excel 2007 mais pas sous Excel 2003 (message d'erreur "Run-time '1004' method Saveas a échoué..."), pouvez vous m'aider à résoudre ce problème ? Voici la macro:

Private Sub commandButton1_Click()
Dim Destwb As Workbook
Set Destwb = ActiveWorkbook
Dim TempFilePath, TempFileName, FileExtStr, FileFormatNum As String
TempFilePath = 51
FileExtStr = ".xls"
FileFormatNum = 56

' Saves the new workbook and then mail it.

TempFilePath = "c:\temp\" & Format(Now, "yyyymmdd") & "\"
If Dir(TempFilePath, vbDirectory) = "" Then
MkDir TempFilePath
End If
TempFileName = "_test_"
With Destwb
.SaveAs Filename:=TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
On Error Resume Next
For i = 1 To 3
.SendMail "XXX@XXX.com", _
Cells(8, 3) & " - Test"
If Err.Number = 0 Then Exit For
Next i
On Error GoTo 0
.Close SaveChanges:=False
End With
End Sub


Merci !
 
Re : [VBA] Erreur methode .Saveas sous Excel 2003

Marche pas sur 2007..

J'ai pensé à intégrer une ligne du genre:

If Val(Application.Version) < 12 Then
'You use Excel 97-2003
FileFormatNum = -4143
Else
FileFormatNum = 56
end if

Mais ça plante..
 
Re : [VBA] Erreur methode .Saveas sous Excel 2003

Re,

A noter que cet argument est facultatif, ce que dit l'aide vba :
FileFormat Argument de type Variant facultatif. Format de fichier à utiliser quand vous enregistrez le fichier. Pour obtenir une liste des choix possibles, consultez la propriété FileFormat. Dans le cas d'un fichier existant, le format par défaut est le dernier format de fichier spécifié. Dans le cas d'un nouveau fichier, la valeur par défaut est le format de la version de Microsoft Excel en cours d'utilisation.
 
Re : [VBA] Erreur methode .Saveas sous Excel 2003

Peux tu tester ce code sur office 2003 ayant que 2007 sous le coude je ne sais pas s'il fonctionnera sous 2003. Merci!

Private Sub commandButton1_Click()
Dim Destwb As Workbook
Set Destwb = ActiveWorkbook
Dim TempFilePath, TempFileName, FileExtStr As String
TempFilePath = 51
FileExtStr = ".xls"
'FileFormatNum = 56

TempFilePath = "c:\temp\" & Format(Now, "yyyymmdd") & "\"
If Dir(TempFilePath, vbDirectory) = "" Then
MkDir TempFilePath
End If
TempFileName = "_test_"
With Destwb
.SaveAs Filename:=TempFilePath & TempFileName & FileExtStr 'FileFormat:=FileFormatNum
On Error Resume Next
For i = 1 To 3
.SendMail "xx@xx.com", _
"Test"
If Err.Number = 0 Then Exit For
Next i
On Error GoTo 0
.Close SaveChanges:=False
End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
610
  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
441
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
312
Réponses
5
Affichages
2 K
Retour