Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Nom automatique du classeur sans enregistrer

  • Initiateur de la discussion Initiateur de la discussion delphine86
  • 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 !

delphine86

XLDnaute Nouveau
Bonjour,

Je m'intéresse depuis quelques temps au langage vba, mais je bloque encore sur certains problèmes :

J'aimerais pouvoir dans une macro, donner un nom automatique (selon les cellules A1 et A2) à mon classeur sans passer par la sauvegarde.

Donc j'ai déjà exploité quelques pistes de recherche mais rien de bien concluant:


NumConstat = ActiveWorkbook.ActiveSheet.Cells(1, 1).Value
NumECME = ActiveWorkbook.ActiveSheet.Cells(1, 2).Value

MyDate = Format(Now(), "yy")
ActiveWorkbook.Name = "CV-" & NumECME & "-" & NumConstat & ""

Après queqlues recherches sur Internet, je suis tombée sur des personnes qui disent qu'on ne peut pas donner un nom sans passer par la sauvegarde (je sais faire ca!).
Sûr?? Il n'y a vraiment aucune solution?

Merci d'avance
 
Re : Nom automatique du classeur sans enregistrer

Bonjour,

Remplacez la ligne de code
Code:
ActiveWorkbook.Name = "CV-" & NumECME & "-" & NumConstat & ""

par

Code:
ActiveWorkbook.Windows(1).Caption = "CV-" & NumECME & "-" & NumConstat & ""

Cordialement.

PMO
Patrick Morange
 
Re : Nom automatique du classeur sans enregistrer

Bonsoir,

Bonsoir, Patrick

Effectivement, avec le .Caption, on change le nom du fichier, mais sans en tenir compte, lors de l'enregistrement.....
Juste le nom qui change, dans la barre bleue...
un enregistrement ne modifie pas le nom initial du fichier....

Mais peut-être est-ce ce que Delphine désirait?

Bonne soirée
 
Re : Nom automatique du classeur sans enregistrer

Bonjour bhbh et Delphine,

Suite à la remarque suivante
Effectivement, avec le .Caption, on change le nom du fichier, mais sans en tenir compte, lors de l'enregistrement.....
Si le souhait de Delphine est de garder le classeur renommé et par conséquent de le sauvegarder sous ce nouveau nom (sans passer par une manipulation) on peut imaginer la démarche suivante :

1) on lance la macro RenommeClasseur contenue dans le classeur source
2) qui crée un nouveau classeur avec le nom qui va bien et qui est la copie du classeur source
3) on visibilise le nouveau classeur
4) on ferme le classeur source sans l'enregistrer (à adapter selon son usage ???)
4 bis) OU on conserve le classeur source (je ne sais pas qu'elle est le résultat désiré ???)

Voici le code à copier dans un module Standard et qui fait la démarche susmentionnée de 1 à 4

Code:
Const MA_FEUILLE As String = "test"

Sub maMacro()
Dim WB As Workbook
Dim WBnew As Workbook
Dim S As Worksheet
Dim MyDate As String
Dim NumConstat
Dim NumECME
Dim A$
Set WB = ActiveWorkbook
Set S = WB.Sheets(MA_FEUILLE)
NumConstat = S.Cells(1, 1).Value
NumECME = S.Cells(2, 1).Value
MyDate = CStr(Format(Now(), "yy"))
A$ = WB.Path & "\" & "CV-" & NumECME & "-" & NumConstat & "_" & MyDate & ".xls"

'--- On stoppe si le classeur est déjà existant ---
On Error Resume Next
Set WBnew = GetObject(A$)
If Not WBnew Is Nothing Then
  MsgBox prompt:="Le classeur ''" & A$ & "'' existe déjà.", _
    Title:="Programme stoppé", Buttons:=vbCritical
  WBnew.Close
  Set WBnew = Nothing
  Exit Sub
End If
On Error GoTo 0
'---------------------------------------------------

WB.SaveCopyAs A$
Set WBnew = GetObject(A$)
WBnew.Windows(1).Visible = True
WB.Close savechanges:=False
Set WB = Nothing
End Sub

Cordialement.

PMO
Patrick Morange
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…