1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
| Sub Sauve1()
' Sauvegarde d'un classeur avec les valeurs récupérées dans des cellules.
' Le mois, suivant, le mois courant ainsi que l'année sont ajouté au nom de la sauvegarde.
' Il est tenu compte du passage à l'année suivante si la sauvegarde est effectuée en décembre.
Dim Chemin As String, LieuTravail As String, LieuTravail2 As String, NomAbsent As String, NomAbsent2 As String, Fonction As String, Fonction2 As String, _
Mois As String, Annee As String, FichierSauve As String, OuiNon As Integer, m
m = Month(Date)
If m = 12 Then
Mois = (Month(Now) - 11)
Annee = (Year(Now) + 1) ' <-- Si l'on est au mois de décembre, l'année sera incrémentée de 1 et le mois sera 01 (janvier).
Else
Mois = (Month(Now) + 1)
Annee = (Year(Now)) ' <-- Du mois de janvier au mois de novembre, le mois sera incrémenté de 1.
End If
Mois = Format(Mois, "00") ' <-- Formatage du mois afin que les mois de janvier à septembre aient la forme MM et non M.
Chemin = "I:\Repertoire" & "\" & Annee & "-" & Mois ' <-- Définition du répertoire et du sous-répertoire
LieuTravail = Sheets("Mafeuille").Range("B3") ' <-- Récupère la cellule B3
NomAbsent = Sheets("Mafeuile").Range("B6") ' <-- Récupère la cellule B6
CreationRepertoire Chemin ' <-- Appel de la macro qui va vérifier et créer le répertoire.
Application.EnableEvents = False
On Error Resume Next
Cancel = True
If Sheets("Mafeuille").Range("B8") = 1 Then ' <-- Récupère la cellule B8
Fonction = "AS"
Fonction2 = 1
ElseIf Sheets("Mafeuille").Range("B8") = 2 Then
Fonction = "ASA"
Fonction2 = 2
Else
Fonction = "SR"
Fonction2 = 3
End If
LieuTravail2 = Sheets("Mafeuille").Range("B3")
NomAbsent2 = Sheets("Mafeuille").Range("B6")
If Sheets("Mafeuille").Range("B3") = Sheets("Mafeuille").Range("G3") _
And Sheets("Mafeuille").Range("B6") = Sheets("Mafeuille").Range("G6") _
And Sheets("Mafeuille").Range("B8") = Sheets("Mafeuille").Range("D10") Then Call Sauve2
ThisWorkbook.Sheets("Mafeuille").Unprotect ""
ThisWorkbook.Sheets("Mafeuillet").Range("G3").Unprotect ""
ThisWorkbook.Sheets("Mafeuille").Range("G6").Unprotect ""
ThisWorkbook.Sheets("Mafeuille").Range("D10").Unprotect ""
ThisWorkbook.Sheets("Mafeuille").Range("G3") = LieuTravail2 ' <-- Code d'enregistrement lieu de travail
ThisWorkbook.Sheets("Mafeuille").Range("G6") = NomAbsent2 ' <-- Code d'enregistrement du nom
ThisWorkbook.Sheets("Mafeuille").Range("D10") = Fonction2 ' <-- Code d'enregistrement de fonction
ThisWorkbook.Sheets("Mafeuille").Range("G3").Protect ""
ThisWorkbook.Sheets("Mafeuille").Range("G6").Protect ""
ThisWorkbook.Sheets("Mafeuille").Range("D10").Protect ""
ThisWorkbook.Sheets("Mafeuille").Protect ""
ActiveWorkbook.SaveAs Chemin & "\" & LieuTravail & " - " & Fonction & " - " & NomAbsent & " - " & Annee & "-" & Mois & ".xls", _
FileFormat:=xlNormal, password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
FichierSauve = LieuTravail & " - " & Fonction & " - " & NomAbsent & " - " & Annee & "-" & Mois & ".xls"
' <-- Nom du fichier affiché dans la boîte de dialogue.
On Error GoTo 0
Application.EnableEvents = True
OuiNon = MsgBox("Nous sommes le " & Date & " il est " & Time & " " + Chr$(13) + Chr$(13) + Chr$(13) _
& "Le fichier est enregistré sous : " & Chemin & "\" + Chr$(13) + Chr$(13) + Chr$(13) _
& "il se nomme : " & FichierSauve + Chr$(13) + Chr$(13) + Chr$(13) _
& "Il ne vous reste plus qu'à la transmettre votre demande " + Chr$(13) + Chr$(13) + Chr$(13) + Chr$(13) _
& "Désirez-vous faire une autre demande ?" + Chr$(13) + Chr$(13) + Chr$(13), _
vbYesNoCancel + vbQuestion + vbDefaultButton1, " - LA DEMANDE EST REMPLIE CORRECTEMENT - ")
' <-- Mise en forme de la boîte de dialogue d'enregistrement.
If OuiNon = vbYes Then
Range("H33:J33").Select
Selection.ClearContents
Range("B33:E33").Select
Selection.ClearContents
Range("J30").Select
Selection.ClearContents
Range("J28").Select
Selection.ClearContents
Range("H30").Select
Selection.ClearContents
Range("H28").Select
Selection.ClearContents
Range("F30").Select
Selection.ClearContents
Range("F28").Select
Selection.ClearContents
Range("D30").Select
Selection.ClearContents
Range("D28").Select
Selection.ClearContents
Range("B30").Select
Selection.ClearContents
Range("B28").Select
Selection.ClearContents
Range("B26:C26").Select
Selection.ClearContents
Range("B23:K23").Select
Selection.ClearContents
Range("B22:K22").Select
Selection.ClearContents
Range("B21:K21").Select
Selection.ClearContents
Range("B20:K20").Select
Selection.ClearContents
Range("B19:K19").Select
Selection.ClearContents
Range("B18:K18").Select
Selection.ClearContents
Range("B17:K17").Select
Selection.ClearContents
Range("B16:K16").Select
Selection.ClearContents
Range("B14").Select
Selection.ClearContents
Range("B11:C11").Select
Selection.ClearContents
Range("B10:C10").Select
Selection.ClearContents
Range("B8").Select
Selection.ClearContents
Range("B6:F6").Select
Selection.ClearContents
Range("B3:F3").Select
Selection.ClearContents ' <-- Mise à blanc des champs pour la saisie d'une nouvelle demande, la réponse est OUI.
ElseIf OuiNon = vbCancel Then
' <-- On quitte la boîte de dialogue car la réponse est ANNULE
Else
OuiNon = vbNo
Application.Quit ' <-- On quitte Excel car la réponse est NON.
End If
End Sub |
Partager