[VBA] Format de fichier ne correspond pas après save VBA

Bonjour le forum.

J'ai besoin de vos lumières

Mon programme VBA ouvre un fichier Excel 97-2003 (.xls)

Après avoir fait les calculs je sauvegarde-sous ce même fichier toujours donc en format .xls

Sauf que lorsque j'ouvre ce fichier manuellement ce message apparait:

image

En cliquant sur OUI j'ai accès au fichier sans problème, c'est pas très ergonomique surtout pour les collègues qui vont recevoir ce document par mail.

Voici le code avec uniquement ce qui me semble pertinent:

Workbooks.Open Filename:= _
    "S:\METRO\Gabin\VBA ; Classeurs Excel ; Moulinettes\Demande de transport\Mémoire\DDT.xls"
Set DDT = ActiveWorkbook

'ICI LES CALCULS

DDT.Activate
With Application.FileDialog(msoFileDialogSaveAs) 'Dialogs(xlDialogSaveAs)
.InitialFileName = CStr(Range("V19")) & "_Demande de transport_du_CEss_vers_" & Range("D42") & ".xls"
.FilterIndex = 2
.Show
.Execute
End With

'ICI ENVOIE DANS LE MAIL AVEC DDT en PJ

DDT.Close False

Merci d'avance à ceux qui trouveront la solution !

Bonjour, vérifiez les paramètres de votre excel.

Fichier \ options \ Centre de gestion de la confidentialité \ Paramètres de bloquage des fichiers \ voir si Excel 97-2003 n'est pas coché ?

Bonjour,
Une piste.
Cdlt.

With Application.FileDialog(msoFileDialogSaveAs)
        .FilterIndex = 2
        If .Show Then
            ActiveWorkbook.SaveAs _
                    Filename:=CStr(Range("V19")) & "_Demande de transport_du_CEss_vers_" & Range("D42") & ".xls", _
                    FileFormat:=xlExcel8    '56
        End If
    End With

Bonjour Xmenpl,

J'ai vérifié et mon Excel est correctement paramétré. De plus j'arrive à ouvrir sans prob les classeurs .xls le problème survient uniquement sur le fichier après modif VBA

Bonjour Jean-Eric,

Je ne comprend pas pourquoi, mais t'as solution fonctionne

J'ai juste ajouté la ligne

.InitialFileName = CStr(Range("V19")) & "_Demande de transport_du_CEss_vers_" & Range("D42") & ".xls"

Avant le .show pour que l'utilisateur puisse voir le nom du document avant de l'enregistrer.

Par contre, si l'utilisateur change le nom dans la boite de dialogue ce nom sera écrasé par le code dans la boucle if ?

A voir pour le moment ce n'est pas un prob bloquant pour moi.

Merci !

Re bonjour,

l'information qu'ajoute Jean Eric c'est justement le format d'enregistrement xls 97-2003 "FileFormat:=xlExcel8"

Si vous ne le précisez pas alors je suppose que votre excel plus récent enregistre au format "xlsx" mais avec l'extension que vous lui avez

indiqué : xls.

Et dans ce cas à l'ouverture le message indique que l'extension ne correspond pas a ce fichier car il est devenu un fichier xlsx en réalité.

( Par contre les macros aurait du disparaître dans ce cas )

Rechercher des sujets similaires à "vba format fichier correspond pas save"