Sauvegarde en VBA : erreur les fonctionnalité ne peuvent être enregistrées...

Jacques25

XLDnaute Occasionnel
Bonjour à tous,

Je rencontre un problème avec un fichier quand je l'utilise sous excel 2010.

Le fonctionnement de mon fichier est le suivant :
- je rempli un formulaire dans une feuille
- en appuyant sur un bouton j'enregistre toutes mes données du formulaire dans une base de données se trouvant dans un autre onglet
- j'enregistre mon formulaire dans un classeur que je crée
- j'enregistre un autre onglet dans un autre classeur aussi créé
- pour finir je viens effacer les valeurs dans mon formulaire de départ

Sous Excel 2003 je n'ai aucun soucis, sous excel 2010 j'ai le message suivant qui s'affiche quand j'enregistre mon formulaire :

Les fonctionnalités suivantes ne peuvent pas être enregistrées dans des classeurs sans macro :
Projet VB
Pour enregistrer un fichier avec ces fonctionnalités, cliquez sur Non, puis sélectionnez un type de fichier prenant en charge les macros dans la liste Type de fichier
Pour continuer à enregistrer en tant que classeur sans macro, cliquez sur Oui.


Si je clique sur non il me donne accès au débuggage sur la ligne précédée de ***:

Dim chemin1$
Dim chemin2$
Dim chemin3$


chemin1 = "\\serveur\Inter\Echanges\Echanges_A\Echanges_A_et_Q\Réc\Réc2012\"
chemin2 = NOMFOURN
chemin4 = "\\serveur\Inter\Echanges\Echanges_A\Echanges_A_et_Q\Réc\Réc2012\" & NOMFOURNI
chemin3 = "\" & NGAQ

If Dir(chemin1 & chemin2, 16) = "" Then MkDir chemin1 & chemin2
If Dir(chemin3 & chemin4, 16) = "" Then MkDir chemin4 & chemin3

Sheets("Réclam Qualité").Copy
*** ActiveWorkbook.SaveAs Filename:="\\serveur\Inter\Echanges\Echanges_A\Echanges_A_et_Q\Réc\Réc2012\" & NOMFOURN & "\" & NGAQ & "\" & NGAQ & NOMFOURN & NREF & ".XLS"
ThisWorkbook.Activate

Avez vous une idée de ce que je devrais changer pour que ça marche aussi bien en 2003 qu'en 2010. Pour info ce code marche très bien dans un autre fichier du même genre dans les 2 cas.

Merci d'avance pour votre aide.

Jacques
 

Jacques25

XLDnaute Occasionnel
Re : Sauvegarde en VBA : erreur les fonctionnalité ne peuvent être enregistrées...

Salut Eric,

Merci pour ta réponse, peux tu me dire si je l'ai rajouté au bon endroit ci dessous.

If Dir(chemin1 & chemin2, 16) = "" Then MkDir chemin1 & chemin2
If Dir(chemin3 & chemin4, 16) = "" Then MkDir chemin4 & chemin3

Sheets("Réclam Qualité").Copy
*** ActiveWorkbook.SaveAs Filename:="\\serveur\Inter\Echanges\Echanges_A\Ech anges_A_et_Q\Réc\Réc2012\" & NOMFOURN & "\" & NGAQ & "\" & NGAQ & NOMFOURN & NREF & ".XLS" XlFileFormat:=xlExcel8
ThisWorkbook.Activate

Merci

Jacques

Jacques
 

eriiic

XLDnaute Barbatruc
Re : Sauvegarde en VBA : erreur les fonctionnalité ne peuvent être enregistrées...

Re,

oui, mais excuse-moi, c'est FileFormat:=xlExcel8
et le séparer du paramètre précédent par une virgule.
xlFileFormat étant la liste de valeurs possibles pour FileFormat...

eric
 

Jacques25

XLDnaute Occasionnel
Re : Sauvegarde en VBA : erreur les fonctionnalité ne peuvent être enregistrées...

Reboujour tout le monde, Eric, MJ13,

J'ai essayé la solution d'Eric et maintenant j'ai la fenêtre vérificateur de compatibilité qui me dit que le type n'est pas compatible (a priori ce sont les cellules avec des validations de données qui pose problème, il s'agit de liste déroulante.
J'ai essayé avec xls et Fileformat xlexcel8, avec xlsm et fileformat xlexcel8 et avec xlsx et fileformat xlexcel8.

MJ13, a quoi servira ce code et où dois je le mettre pour essayer?

Merci pour votre aide.
 

MJ13

XLDnaute Barbatruc
Re : Sauvegarde en VBA : erreur les fonctionnalité ne peuvent être enregistrées...

Re

MJ13, a quoi servira ce code et où dois je le mettre pour essayer?

Sur Xl2010, Il suffit d'aller dans de choisir le type d'enregistrement (Fichier Options Enregistrement et choisir dans la liste Enregistrer au format suivant) pour voir le numèro de code généré avec la macro. Par contre je ne sais pas si cela fonctionne Sous XL2003.
 

eriiic

XLDnaute Barbatruc
Re : Sauvegarde en VBA : erreur les fonctionnalité ne peuvent être enregistrées...

Re,

J'ai essayé avec xls et Fileformat xlexcel8, avec xlsm et fileformat xlexcel8 et avec xlsx et fileformat xlexcel8.
Faut savoir, si c'est au format 2003 c'est .xls avec Fileformat:=xlexcel8

Maintenant tu as des pertes de compatibilité c'est sûr puisque excel 2010 sait en faire plus qu'excel 2003.
Tente de le convertir avant par 'fichier / information / mode de compatibilité'.
Mais tu sauras ce que ça donne réellement en l'ouvrant sur 2003.

eric
 

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 182
dernier inscrit
moutassim.amine