Un petit coup de main saveas

Résolu/Fermé
Looping38
Messages postés
92
Date d'inscription
samedi 22 octobre 2016
Statut
Membre
Dernière intervention
20 juillet 2020
- 21 nov. 2018 à 10:26
Looping38
Messages postés
92
Date d'inscription
samedi 22 octobre 2016
Statut
Membre
Dernière intervention
20 juillet 2020
- 10 déc. 2018 à 12:02
Bonjour,

Je bloque sur une fonction d'enregistrer-sous d'une feuille de mon classeur maître.
Je souhaite par macro extraire une feuille de mon classeur avec la possibilité à l'utilisateur de choisir la destination en proposant le nom de fichier.
De plus, lorsque on répond "oui" à "souhaitez-vous ouvrir le dossier, il y ait un focus sur le fichier en question.
j'ai tâtonné en rédigeant cette macro, mais elle ne fait pas tout à fait le job.

Sub modele_liste_clients()
Application.ScreenUpdating = False
' modele_liste_clients Macro
'
Dim ret As Integer
'
Sheets("Modele Liste Clients ").Select
Worksheets("Modele Liste Clients ").Unprotect Password:="toto"
Sheets("Modele Liste Clients ").Select
chemin = ActiveWorkbook.Path
ActiveSheet.Copy
With ActiveWorkbook
.Title = ActiveSheet.Name
.Subject = ActiveSheet.Name
.Application.GetSaveAsFilename ActiveSheet.Name

ActiveWorkbook.Close

Application.ScreenUpdating = True
End With
ThisWorkbook.Activate
Sheets("Données Client").Select


MsgBox ("Souhaitez-vous ouvrir le dossier"), vbYesNo
If ret = vbNo Then
Exit Sub
Else
Dim rep As String
rep = chemin
Shell "explorer.exe " & rep, 1

End If
End Sub


Si quelqu'un pouvait m'aider?
Merci d'avance


Configuration: Windows / Chrome 70.0.3538.102

4 réponses

Le Pingou
Messages postés
11023
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
25 mai 2022
1 281
21 nov. 2018 à 16:13
Bonjour,
Que voulez-vous faire: ????
Copier une feuille vers un classeur existant ou simplement les données extraites de la feuille "Modele Liste Clients" ….?????
0
Looping38
Messages postés
92
Date d'inscription
samedi 22 octobre 2016
Statut
Membre
Dernière intervention
20 juillet 2020
1
21 nov. 2018 à 18:13
Bonjour le Pingou et merci pour votre attention à ma demande.
J'ai créé une feuille dans mon classeur qui servira de modèle pour importer des données vers ce même classeur.
En utilisant la macro " Modèle_liste_clients", je souhaite que l'utilisateur puisse l'enregistrer sur son disque dur (en créant un nouveau classeur excel) à l'endroit qu'il souhaite, de préférence à la racine du fichier maître, l'enrichisse des données (colonnes avec titre) qu'il détient, puis j’aurais une autre macro qui appellera cette feuille pour enserrer les données là où nécessaire.
Le fichier ainsi crée devra se nommer "modèle liste client.xls" par défaut, mais il pourra le nommé comme il veut, et la destination par défaut sera à la racine du fichier maître.
je suis dispo pour plus de précision.
Merci d'avance
0
Looping38
Messages postés
92
Date d'inscription
samedi 22 octobre 2016
Statut
Membre
Dernière intervention
20 juillet 2020
1
21 nov. 2018 à 21:15
J'en profite pour également savoir comment rédiger un emplacement de destination du type "l'emplacement du fichier actuel (ActiveWorkbook.Path)\sous dossier "DEVIS"\"le nom du fichier proposé.xls"

Merci d'avance
Martin
0
Le Pingou
Messages postés
11023
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
25 mai 2022
1 281
22 nov. 2018 à 17:01
Bonjour,
Introduire ces lignes de code à l’endroit souhaité :

'chemin classeur maitre
chemin = ActiveWorkbook.Path
'non nouveau classeur
nomcla = "modèle liste client.xls"
' copie de la feuille
Sheets("Modele Liste Clients").Copy
'enregistrement nouveau classeur
ActiveWorkbook.SaveAs Filename:= _
chemin & "\" & nomcla, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False


0
Looping38
Messages postés
92
Date d'inscription
samedi 22 octobre 2016
Statut
Membre
Dernière intervention
20 juillet 2020
1
10 déc. 2018 à 12:02
Merci Pingou, ça marche super.
ci-dessous ma transposition :
Sub modele_liste_clients()

' ************* Lance la génération d'un fichier .xls
' comme modèle d'importation de données clients ************
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim chemin As String
Dim nomcla As String
Dim fichier As String

'chemin classeur maitre
chemin = ActiveWorkbook.Path
'non nouveau classeur
nomcla = "modèle liste client.xls"
' copie de la feuille
Sheets("Modele Liste Clients ").Copy
'enregistrement nouveau classeur
ActiveWorkbook.SaveAs Filename:= _
chemin & "\" & nomcla, FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close

'
MsgBox ("Souhaitez-vous ouvrir le dossier"), vbYesNo
If ret = vbNo Then
Exit Sub
Else
Dim rep As String
rep = chemin
Shell "explorer.exe " & rep, 1

Application.Calculation = xlCalculationAutomatic
End If
End Sub
0