VBA Excel - Ouvrir nouveau classeur / enregistrer / fermer

Résolu
remy0033 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
remy0033 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Merci par avance pour votre aide. Je trouve partiellement ma solution en enregistrant la macro au fur et à mesure mais le résultat est incomplet. Je m'en remets donc à vous ;)

Pour simplifier ma demande : dans un premier classeur Source je rentre en cellule A1 le nom d'un projet. En cliquant sur un bouton je souhaiterais que la macro suivante s'exécute :

- ouvrir un nouveau classeur excel
- renommer la feuille par défaut "Feuil1" avec la valeur A1 du classeur Source
- créer dans le même répertoire que le classeur Source un nouveau dossier
- renommer ce nouveau dossier avec la valeur A1 du classeur Source
- enregistrer dans ce nouveau dossier le classeur généré en le nommant selon la valeur A1 du fichier Source
- enregistrer dans ce nouveau dossier le classeur généré au format .pdf en le nommant selon la valeur A1 du fichier Source
- fermer le classeur

Un grand merci par avance !

Rémy


Windows / Chrome 131.0.0.0

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    une suggestion:

    Option Explicit
    
    Private Sub remy()
    Dim fso As Scripting.FileSystemObject, nouveaudossier As Scripting.Folder, nouveauclasseur As Workbook, nomnouveaudossier As String, nom As String
    
    Set fso = New Scripting.FileSystemObject
    nom = CStr([A1])
    nomnouveaudossier = ThisWorkbook.Path + "\" + nom
    Set nouveaudossier = fso.CreateFolder(nomnouveaudossier)
    Set nouveauclasseur = Workbooks.Add()
    nouveauclasseur.Sheets(1).Name = nom
    nouveauclasseur.Sheets(1).[b2] = nom
    Call nouveauclasseur.SaveAs(nomnouveaudossier + "\" + nom + ".xlsx")
    nouveauclasseur.Sheets(1).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                nomnouveaudossier + "\" + nom + ".pdf"
    Call nouveauclasseur.Close
    
    End Sub
    1
    1. remy0033 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
       

      C'est exactement ça, merci beaucoup !

      Bon après-midi

      Rémy

      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    Pourquoi un classeur Excel et le dit classeur au format pdf.

    Ce classeur aura combien de feuilles

    0
  3. remy0033 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
     

    Bonjour

    Le classeur destination n'aura qu'une feuille, celle nommée d'après la cellule A1 du fichier Source.

    2 sauvegardes :

    - le classeur excel avec le même nom que la feuille
    - un export de cette feuille en pdf

    cdt

    Remy

    0