slaurent01
XLDnaute Junior
Bonjour,
J'ai un problème que je n'arrive pas à résoudre depuis un bon moment. et je viens demander de l'aide.
J'ai un onglet et quand je clique sur SAUVE, je veux copier cet onglet "Devis" dans un nouveau classeur puis le sauvegarder selon un nom définit par Vba et fermer ce nouveau classeur.
J'arrive à copier l'onglet dans un nouveau classeur,
J'arrive à créer le nom,
Mais pas la sauvegarde, mon code ne marche pas, ni la fermeture du dossier.
Je suis plus que débutant en vba, Je vous remercie par avance
	
	
	
	
	
		
Cordialement stéphane
	
		
			
		
		
	
				
			J'ai un problème que je n'arrive pas à résoudre depuis un bon moment. et je viens demander de l'aide.
J'ai un onglet et quand je clique sur SAUVE, je veux copier cet onglet "Devis" dans un nouveau classeur puis le sauvegarder selon un nom définit par Vba et fermer ce nouveau classeur.
J'arrive à copier l'onglet dans un nouveau classeur,
J'arrive à créer le nom,
Mais pas la sauvegarde, mon code ne marche pas, ni la fermeture du dossier.
Je suis plus que débutant en vba, Je vous remercie par avance
		Code:
	
	
	Sub EnregistrerSous()
    Dim NomFichier As Variant, v As Integer, X As String, w As String, Y As String, z As String, NomDefaut As String
   
    'Définition des variables qui vont composer le nom du fichier
    w = ThisWorkbook.Worksheets("Devis").Range("D3")
    v = "-" & ThisWorkbook.Worksheets("Devis").Range("A4")
    X = "-" & ThisWorkbook.Worksheets("Devis").Range("D4")
    Y = "-" & Format(Date, "dd mm yyyy")
    z = "-" & Format(Time, "hhmmss")
    
    'Création du nom du fichier
    NomDefaut = w & v & X & Y & z
    
    'Création d'un nouveau classeur et copie de l'onglet devis
    
    Set wk = Workbooks.Add(xlWBATWorksheet)
    Set Ws = ThisWorkbook.Worksheets("Devis")
    Ws.Copy After:=wk.Sheets(Sheets.Count)
    
    'Ouverture de Enregistrer sous
    NomFichier = Application.GetSaveAsFilename(NomDefaut, "Microsoft Excel (*.xlsm), *.xlsm")
    'Sauvegarde
    If NomFichier = False Then Exit Sub
    ActiveWorkbook.SaveAs Filename:=NomFichier
    
End Sub