Bonjour à tous.
Voilà quelques jours que je recherche une solution pour un problème VBA sous Excel.
Je tente une macro d’enregistrement contrôlé du fichier. Soit la désactivation de la boîte de dialogue « enregistrer sous » et, par simple appel de la commande « enregistrer », l’enregistrement sous un nom prédéfini par la macro ou une variable (valeur d’une cellule). Basiquement, mon texte est le suivant :
L’affichage de la boîte de dialogue est bien supprimé. L’enregistrement se fait bel et bien. Si le fichier existe déjà, Excel redonne la main après l’enregistrement, mais si l’enregistrement a pour conséquence la création d’un nouveau fichier, Excel plante avant de redonner la main. Ainsi, le fichier est bien disponible, mais par le redémarrage d’Excel et la fonction de récupération automatique intégrée à l’application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim NomFichier As String Cancel = False If SaveAsUI Then MsgBox ("Vous ne disposez pas des autorisations nécessaires à l'enregistrement du fichier sous un autre nom. Opération annulée.") Exit Sub End If Application.DisplayAlerts = False ActiveWorkbook.SaveAs Filename:="2310Bibi.xls" Application.ThisWorkbook.Saved = True Application.DisplayAlerts = True End Sub
Ceci sur mon environnement personnel, soit Vista sous administrateur avec Office 2003, celui de mon amie soit XP avec accès administrateur et Office 2003, ou au travail avec XP Prof’, accès utilisateur et Office 2003. Ce qui m’en vient à penser que le problème ne vient pas de l’accès de fichier. Pourtant…
Pourtant oui, malgré l’épuration et la manipulation du code (activation ou désactivation des messages d’alertes, utilisation d’un nom de fichier prédéfini ou d’une variable de type String, précision ou non de l’extension, l’emploi d’un nom de fichier complet avec chemin ou non, le formatage de la fonction SaveAs avec les paramètres facultatifs [format, backup, alertes] et variations de ces paramètres), le problème subsiste. Et ce sur mon fichier premier, travaillé, protégé, comme sur un fichier neuf ne contenant que ce code. Ce qui me fait penser à un bogue de l’application, mais l’aide VBA, plusieurs jours sur les forums et le site de support microsoft en ligne ne m’ont rien appris. Il semble que je sois seul à avoir ce problème.
Le niveau de sécurité des macros ne semble pas non plus en cause. De même pour l’antivirus, activé ou non.
Cela vous dit-il quelque chose ?
Par avance merci de votre aide.
Partager