Bonjour à tous,
J'ai un petit soucis dont je n'arrive pas à le résoudre. J'ai un onglet "saisie" qui me permet de faire mon devis. Une fois la saisie effectuée, un aperçu du devis s'ouvre dans un onglet caché. Dans cet aperçu j'ai un bouton qui ouvre une boite de dialogue avant confirmation/archivage.
Mon problème c'est que une fois confirmé en appuyant sur "Oui" je souhaite:
Mettre la feuille en format pdf dans un fichier (et à défaut le créer si il n'existe pas)
Merci pour votre aide!
J'ai un petit soucis dont je n'arrive pas à le résoudre. J'ai un onglet "saisie" qui me permet de faire mon devis. Une fois la saisie effectuée, un aperçu du devis s'ouvre dans un onglet caché. Dans cet aperçu j'ai un bouton qui ouvre une boite de dialogue avant confirmation/archivage.
Mon problème c'est que une fois confirmé en appuyant sur "Oui" je souhaite:
Mettre la feuille en format pdf dans un fichier (et à défaut le créer si il n'existe pas)
- Dupliquer la feuille "Devis" en format "valeur"
- Changer le numéro de devis en passant à la valeur suivante +1 (Il s'agit d'une cellule de 3 cases fusionné)
- Cacher la feuille "valeur"
- Cacher la feuille "Devis"
- Ouvrir la feuille "Saisie"
- Effacer les données de saisie de la feuille "Saisie"
VB:
'Procédure archivage feuille Excel
Sub ArchivageRapport()
'Déclaration des variables
Dim CheminAcces As String
Dim Reponse As Integer
Dim oWksh As Worksheet
Dim oRng As Range
'Affectation de la variable
CheminAcces = "C:\Users\Nicol\Documents\Mars'eyes\Devis\"
Reponse = MsgBox("T'as touuuuut verifié? ", vbQuestion + vbYesNo, "ENREGISTREMENT")
'On teste la réponse de l'utilisateur
If Reponse = vbYes Then
Feuil4.ExportAsFixedFormat xlTypePDF, CheminAcces & "Devis " & Feuil4.Range("E5").Value & " " & Feuil3.Range("b2").Value & ".pdf", xlrqualityStandard, True, False, , , False
MsgBox "Et hop c'est enregistré! Format PDF dans le dossier Devis", vbOKOnly + vbInformation, "Sauvegarde"
'Création d'un onglet caché et copie les valeurs du devis
Set oRng = Worksheets("Devis à confirmer").UsedRange
Set oWksh = Worksheets.Add(After:=Worksheets(Worksheets.Count))
With oWksh
.Name = "Devis n°" & oRng.Range("E5")
.Range("A1").Resize(oRng.Rows.Count, oRng.Columns.Count) = oRng.Value
Dim rs As Worksheet
Sheets("Devis à confirmer").Visible = False
.Visible = False
Sheets("Saisie").Visible = True
Else
Exit Sub
'On quitte la procédure
End If
End Sub
Merci pour votre aide!