Amélioration de mon Code

Bonjour,

Je sais que le sujet a été reprit plusieurs fois mais je ne suis pas doué en VBC et j'ai cherché très longtemps avant de poster celui ci car je n'ai pas trouvé.

La fenêtre d'enregistrement s'ouvre, je rentre le nom du fichier, je clique sur OK. Puis, quand je retourne dans le dossier aucun enregistrement a été fait.

Et il possible d'arranger ce problème et si je peux me permettre, est possible tant qu'a faire d'automatiser mon nom de fichier qui se trouve en cellule E7 qui permettrait de pré remplir avant l'enregistrement sous.

Sub Enregistrement() Dim NomFichier, x As String, w As String, NomDefaut As String NomVariable = Range("E7").Value x = ThisWorkbook.Name w = " " & NomVariable NomDefaut = x & w NomFichier = Application.GetSaveAsFilename(NomDefaut, "Microsoft Excel (*.xls), *.xls") If NomFichier = False Then MsgBox "Enregistrement annulé." Else MsgBox NomFichier End If End Sub

Pouvez-vous m'aider ?

Merci d'avance.

bonjour,

remplacer par

Sub test
Thisworkbook.SaveAs  ThisWorkbook.Name & " " &    Range("E7").Value & ".xlsm"
End Sub

A+

Bonjour,

Une autre proposition !?

Cdlt.

Public Sub Enregistrement()
'Déclaration des variables
Dim currentWB As Workbook
Dim sPath As String, sFilename As String, Message As String
Dim Response As VbMsgBoxResult, Styles As VbMsgBoxStyle, Title As String
    'Initialisation des variables
    Set currentWB = ThisWorkbook
    sPath = currentWB.Path & Application.PathSeparator
    sFilename = ActiveSheet.Range("E7").Value & ".xlsx"
    Message = "Le fichier " & sFilename & " va être enregistré" & vbLf
    Message = Message & "dans le répertoire " & sPath & "."
    Styles = vbOKCancel + vbInformation
    Title = "Nouvel enregistrement"
    'Confimration de l'enregistrement
    Response = MsgBox(Message, Styles, Title)
    If Response = vbOK Then
        'Enregistrement sous...
        Application.DisplayAlerts = False
        currentWB.SaveAs Filename:=sPath & sFilename, FileFormat:=51
    End If
End Sub

Merci beaucoup pour vos réponses.

Tout marche bien par rapport à ton code Jean-Eric, la seule chose c'est que j'aimerai pouvoir choisir l'emplacement de mon enregistrement car il change selon l'ordinateur ou la tablette.

Encore merci, bonne journée.

Re,

Une mise à jour à tester !...

Je n'utilise jamais FileDialog (ou très rarement) et je laisse le soin à d'autres pour peaufiner la chose.

Ils détecteront l'erreur à la lecture du code.

Cdlt.

Public Sub Enregistrement()
'Déclaration des variables
Dim currentWB As Workbook
Dim fd As FileDialog
Dim sPath As String, sFilename As String, Message As String
Dim Response As VbMsgBoxResult, Styles As VbMsgBoxStyle, Title As String
    'Initialisation des variables
    Set currentWB = ThisWorkbook
    sPath = currentWB.Path & Application.PathSeparator
    sFilename = ActiveSheet.Range("E7").Value & ".xlsx"
    Message = "Le fichier " & sFilename & " va être enregistré" & vbLf
    Message = Message & "dans le répertoire " & sPath & "."
    Styles = vbOKCancel + vbInformation
    Title = "Nouvel enregistrement"
    'Confimration de l'enregistrement
    Response = MsgBox(Message, Styles, Title)
    If Response = vbOK Then
        'Enregistrement sous...
        'Application.DisplayAlerts = False
        Set fd = Application.FileDialog(msoFileDialogSaveAs)
        fd.InitialFileName = sPath & sFilename
        If fd.Show <> 0 Then
            currentWB.SaveAs fd.SelectedItems(1)
        End If
    End If
End Sub

Bonjour,

J'ai essayé ton dernier code, il fonctionne avec deux ou trois petites retouches.

C'est génial, merci beaucoup.

LE POST EST CLOS.

Rechercher des sujets similaires à "amelioration mon code"