XL 2019 Sauvegarder un onglet , sous fichier du même nom

AIXELS

XLDnaute Occasionnel
Bonjour à tous les amis du Forum.
J'ai trouvé une macro qui me conviendrait pour ce que je veux faire.
J'aurais aimé exporter l'onglet "CLIENTS" et le sauvegarder en fichier
sous le nom CLIENTS.
J'ai essayé, il me sauvegarde mon fichier complet sous le nom CLIENTS
et il a crée une feuille CLIENTS mais ne la sauvegarde pas. Elle reste en
attente et ferme mon fichier initial qu'il a renommé CLIENTS.

Je ne vois pas où ça pêche.
VB:
'Exporter l'onglet "CLIENTS" (Sauvegarde sous le nom de l'onglet)
Sub export_onglet()
    CheminAppli = ActiveWorkbook.Path
    Application.DisplayAlerts = False
    For i = 6 To Sheets.Count
        Sheets(i).Select
        nonglet = ActiveSheet.Name
        ActiveSheet.Copy
        ActiveWorkbook.SaveAs Filename:=CheminAppli & "\" & nonglet
        ActiveWindow.Close
    Next i
End Sub

Merci pour votre aide.
Bien cordialment.
 

Pièces jointes

  • Monfichier.xlsm
    22.2 KB · Affichages: 5

AIXELS

XLDnaute Occasionnel
Bonjour @Jacky67 et tous les Amis du Forum. :)
Merci @Jacky67 pour ton retour et ton aide.
Tout fonctionne très bien 👍
Si l'on veut conserver des éventuelles macros de la feuille enregistrée
..... , FileFormat:=51
devient
.... , FileFormat:=52
Mais le suis certain que tu le savais déjà
J'ai appris une chose de plus grâce à toi.
Je ne suis pas encore à ce niveau.
Encore une fois merci.
Bien cordialement.
 

Jacky67

XLDnaute Barbatruc
Dernière édition:

AIXELS

XLDnaute Occasionnel
Bonjour @Jacky67
je reviens vers toi, en voulant ajouter le chemin de sauvegarde
de la base CLIENTS, j'obtiens un message d'erreur.
VB:
Sub export_onglet()
    Application.DisplayAlerts = False
    
   Chemin = "D:\XXXXX\SAUVEGARDES\BASE CLIENTS\"
    
    Sheets("CLIENTS").Copy
'    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Sheets("CLIENTS").Name, FileFormat:=51
' Ligne que j'ai adaptée.
     ActiveWorkbook.SaveAs Chemin & "\" & Sheets("CLIENTS").Name, FileFormat:=51
    
    ActiveWindow.Close
    
    MsgBox Buttons:=vbInformation, Prompt:="La sauvegarde de la base CLIENTS" & vbNewLine & _
                                            Space(6) & "s'est déroulée avec succès", Title:="Pour info"
End Sub

Merci pour ton aide.
Bien cordialement.
 

Jacky67

XLDnaute Barbatruc
Bonjour @Jacky67
je reviens vers toi, en voulant ajouter le chemin de sauvegarde
de la base CLIENTS, j'obtiens un message d'erreur.
VB:
Sub export_onglet()
    Application.DisplayAlerts = False
   
   Chemin = "D:\XXXXX\SAUVEGARDES\BASE CLIENTS\"
   
    Sheets("CLIENTS").Copy
'    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & Sheets("CLIENTS").Name, FileFormat:=51
' Ligne que j'ai adaptée.
     ActiveWorkbook.SaveAs Chemin & "\" & Sheets("CLIENTS").Name, FileFormat:=51
   
    ActiveWindow.Close
   
    MsgBox Buttons:=vbInformation, Prompt:="La sauvegarde de la base CLIENTS" & vbNewLine & _
                                            Space(6) & "s'est déroulée avec succès", Title:="Pour info"
End Sub

Merci pour ton aide.
Bien cordialement.
Re

Si chemin comporte l'antislash à la fin
Chemin = "D:\XXXXX\SAUVEGARDES\BASE CLIENTS\"
Il faudra supprimer celui entre "Chemin et Sheets(......"
ActiveWorkbook.SaveAs Chemin & "\" & Sheets("CLIENTS").Name, FileFormat:=51
devient
ActiveWorkbook.SaveAs Chemin & Sheets("CLIENTS").Name, FileFormat:=51
Il faut évidemment que les "sous répertoire" de Chemin existent
 

Discussions similaires

Statistiques des forums

Discussions
312 934
Messages
2 093 736
Membres
105 803
dernier inscrit
metroMBP