Se débarrasser de « Copie de » (Microsoft Excel)
Anna Lea a un classeur en lecture seule qu’elle utilise comme modèle pour un rapport quotidien qu’elle crée. Le nom du fichier est assez long et se termine par 20507xx. Lorsqu’elle double-clique sur le classeur, celui-ci s’ouvre et indique qu’il est en lecture seule. Elle apporte ses modifications, puis utilise Enregistrer sous. Étant donné qu’Excel reconnaît que le fichier est en lecture seule, il suggère un nouveau nom de fichier composé de l’ancien avec les mots «Copie de» comme préfixe. Anna veut se débarrasser de la « Copie de » afin de ne plus avoir qu’à changer la partie « xx » du nom de fichier pour créer le rapport du jour.
Le verbiage «Copie de» est ajouté automatiquement par Excel. Si vous utilisez Enregistrer sous, il n’existe aucun moyen de modifier cela sans utiliser une macro pour contrôler le processus d’enregistrement. La macro suivante, enregistrée dans le cadre de l’objet ThisWorkbook, montre comment cela peut être fait.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI _ As Boolean, Cancel As Boolean) Dim sTemp As String Dim sCheck As String sCheck = "xx.xls" If SaveAsUI Then sTemp = ThisWorkbook.Name If Right(sTemp, Len(sCheck)) = sCheck Then sTemp = Left(sTemp, Len(sTemp) - Len(sCheck)) sTemp = sTemp & Format(Now, "dd") & ".xls" sTemp = ThisWorkbook.Path & "/" & sTemp ThisWorkbook.SaveAs Filename:=sTemp, _ FileFormat:=xlNormal Cancel = True End If End If End Sub
La macro vérifie d’abord si la boîte de dialogue Enregistrer sous est sur le point de s’afficher. Si tel est le cas, le nom du classeur est attribué à la variable sTemp. Ce nom est vérifié pour voir si les six derniers caractères sont « xx.xls » (de la variable sCheck). Si tel est le cas, le classeur est supposé être celui dont le nom doit être modifié.
D’abord les caractères « xx.xls » (ou ce que vous avez assigné à sCheck)
sont supprimés de la fin du nom du classeur. Ensuite, la date du jour (deux chiffres, pour le jour du mois) est ajoutée au nom du fichier, suivie du suffixe « .xls ». Enfin, le classeur est enregistré en utilisant ce nom de fichier nouvellement construit. L’indicateur Annuler est défini sur True afin que la boîte de dialogue Enregistrer sous ne s’affiche jamais.
Notez que le nom n’est jamais vérifié pour le verbiage « Copie de ». La raison en est simple: le libellé n’est pas ajouté au début du nom de fichier tant que la boîte de dialogue Enregistrer sous n’est pas affichée. Avant ce point (lorsque ce gestionnaire d’événements est en cours d’exécution), le nom du classeur reste inchangé.
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (3064) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.