Bonsoir le Forum,
Je cherche à modifier le code d'un bouton qui permettrait à l'utilisateur de choisir le répertoire pour enregistrer une plage définie sur son poste.
Le clic devrait ouvrir la boite de dialogue de Windows "Enregistrer sous" au lieu d'effectuer un enregistrement automatique sur le répertoire prédéfini par l'administrateur (C:\Temp\).
Voici le code (gros merci à vbacrumble !) :
Private Sub CommandButton18_Click()
Dim wkS As Workbook, wkD As Workbook, s As Worksheet
Dim nf$
Set wkS = ThisWorkbook
nf = "C:\Temp\" & Format(Date, "dd-mm-yyyy_") _
& Format(Time, "h-mm-ss") & "_" & wkS.Name
Set s = wkS.Sheets(5)
s.Range("A$73:$Q$93").Name = "Tab_1"
Application.ScreenUpdating = False
Set wkD = Workbooks.Add(xlWBATWorksheet)
s.[Tab_2].Copy wkD.Sheets(1).[A5]
wkD.SaveAs nf
wkD.Close True
Application.ScreenUpdating = True
End Sub
Dans ce code, l'enregistrement de la plage "Tab_1" sous "C:\Temp\" se fait sur une feuille non formatée. Il faut remettre en page la feuille cible d'après la mise en page de la feuille source pour pouvoir visualiser la plage correctement. Ma question est : Peut-on créer une feuille pré-formatée (d'après la mise en page originelle de la feuille source) qui servira comme modèle d'enregistrement de la plage "Tab_1" (on pourrait l'enregistre par ex. sous le même répertoire de sortie).
Merci d'avance pour votre aide et au plaisir de vous lire.
Je cherche à modifier le code d'un bouton qui permettrait à l'utilisateur de choisir le répertoire pour enregistrer une plage définie sur son poste.
Le clic devrait ouvrir la boite de dialogue de Windows "Enregistrer sous" au lieu d'effectuer un enregistrement automatique sur le répertoire prédéfini par l'administrateur (C:\Temp\).
Voici le code (gros merci à vbacrumble !) :
Private Sub CommandButton18_Click()
Dim wkS As Workbook, wkD As Workbook, s As Worksheet
Dim nf$
Set wkS = ThisWorkbook
nf = "C:\Temp\" & Format(Date, "dd-mm-yyyy_") _
& Format(Time, "h-mm-ss") & "_" & wkS.Name
Set s = wkS.Sheets(5)
s.Range("A$73:$Q$93").Name = "Tab_1"
Application.ScreenUpdating = False
Set wkD = Workbooks.Add(xlWBATWorksheet)
s.[Tab_2].Copy wkD.Sheets(1).[A5]
wkD.SaveAs nf
wkD.Close True
Application.ScreenUpdating = True
End Sub
Dans ce code, l'enregistrement de la plage "Tab_1" sous "C:\Temp\" se fait sur une feuille non formatée. Il faut remettre en page la feuille cible d'après la mise en page de la feuille source pour pouvoir visualiser la plage correctement. Ma question est : Peut-on créer une feuille pré-formatée (d'après la mise en page originelle de la feuille source) qui servira comme modèle d'enregistrement de la plage "Tab_1" (on pourrait l'enregistre par ex. sous le même répertoire de sortie).
Merci d'avance pour votre aide et au plaisir de vous lire.