Fermeture d'excel en enregistrant selon les conditions vba

loic444 Messages postés 1 Statut Membre -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je n'arrive pas à inclure dans mon code vba la fermeture du programme excel en enregistrant au nom, prénom et classe de l'élève en meme temps

j'aimerais aussi si possible rouvrir directement une page vierge (document avant la réponse de l'étudiant) afin de ne pas devoir retourner chaque foi dans mes documents mais ce document ne devrait pas porter le nom de l'étudiant précédent

Sub Enregistrer_sous()
    info1 = Sheets("questions").Range("F1")
    info2 = Sheets("questions").Range("F2")
    info3 = Sheets("questions").Range("F3")
    
    If Sheets("questions").Range("F1") = "" Or _
        Sheets("questions").Range("F2") = "" Or _
        Sheets("questions").Range("F3") = "" Then
        MsgBox "Afin de pouvoir enregistrer votre fichier, vous devez renseigner les éléments suivants: nom, prénom et classe de l'élève"
        Cancel = True
    Else
    enregistre = ActiveWorkbook.Path & "\" & "questionnaire de phylosophie" & "_" & info1 & " - " & info2 & "_" & info3 & ".xls"
    ThisWorkbook.SaveAs (enregistre)
    End If
    If Sheets("questions").Range("F1") = "" Or _
        Sheets("questions").Range("F2") = "" Or _
        Sheets("questions").Range("F3") = "" Then
        MsgBox "Afin de pouvoir enregistrer votre fichier, vous devez renseigner les éléments suivants: nom, prénom et classe de l'élève"
        ThisWorkbook.SaveAs = False
    Else
    ThisWorkbook.Saveas = True
    
    End If

    End Sub


merci d'avance de votre aide

2 réponses

  1. boomer
     
    bonjour,

    peut être à essayer comme cela:

    Sub Enregistrer_sous()
        info1 = Sheets("questions").Range("F1")
        info2 = Sheets("questions").Range("F2")
        info3 = Sheets("questions").Range("F3")
        
        If Sheets("questions").Range("F1") = "" Or _
            Sheets("questions").Range("F2") = "" Or _
            Sheets("questions").Range("F3") = "" Then
            MsgBox "Afin de pouvoir enregistrer votre fichier, vous devez renseigner les éléments suivants: nom, prénom et classe de l'élève"
            Cancel = True
        Else
        enregistre = ActiveWorkbook.Path & "\" & "questionnaire de phylosophie" & "_" & info1 & " - " & info2 & "_" & info3 & ".xls"
        Set NewBook = Workbooks.Add
        fName = enregistre 
    NewBook.SaveAs Filename:=fName
    
        End If
    
        End Sub
    
    


    cordialement
    0
  2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Tu pourrais enregistrer ton fichier en tant que modèle (.xlt .xltm), il te donnera toujours un document vierge même si par inadvertance tu enregistres sans renommer.
    Ensuite il est disponible dans 'fichier / nouveau...'

    eric

    0