Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

AIXELS

XLDnaute Occasionnel
Supporter XLD
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
Supporter XLD
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
Supporter XLD
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
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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…