Fermeture d'excel en enregistrant selon les conditions vba

loic444 Messages postés 1 Statut Membre -  
eriiic Messages postés 25847 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
A voir également:

2 réponses

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
eriiic Messages postés 25847 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