Enregistrer un fichier Excel via macro

Bonjour à tous,

Je n'ai pas les connaissances suffisante pour arriver à produire le code dont j'ai besoin. J'espère que vous pourrez m'aider.

je cherche à pouvoir enregistrer un fichier Excel via un bouton avec un nom de fichier présent dans une case et un chemin d'accès présent dans une autre case et ajouter au chemin le nom du fichier qui est également qui correspond au lieu de stockage, explication en image :

image

Le nom du fichier est dans la première cellule sur la base d'une liste déroulante donc peut être différent selon la période d'enregistrement

Le chemin d'accès ce trouve dans la deuxième cellule mais doit intégrer le nom du fichier qui correspond au lieu de stockage :

image

je pense que je m'emmêle dans le code, si vous avez une solution à me proposer, merci par avance de votre aide.

Eddy

Bonjour,

A tester :
Si j'ai bien compris, il faut un sous dossier avec le nom du fichier et donc creer les sous dossiers si besoin.

21eddy.xlsm (21.17 Ko)
Private Sub Enregistrer_Click()
Dim Fichier, Chemin, SousDossier, Extension As String

Fichier = Range("C3")
Chemin = Range("C4")

If Fichier = "" Then
    MsgBox "Merci de choisir le nom de fichier"
Else

    If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
    'Si le dossier n'existe pas, le creer
    If Dir(Chemin, vbDirectory) = vbNullString Then MkDir (Chemin)

    'Si le sous dossier n'existe pas, le creer
    SousDossier = Chemin & Fichier & "\"
    If Dir(SousDossier, vbDirectory) = vbNullString Then MkDir (SousDossier)

    'Definir l'extension du fichier
    Extension = ".xlsm"

    'Enregistrer le fichier dans le sous dossier avec le nom du fichier et son extension
    'Application.DisplayAlerts permet de remplacer le fichier si existant sans avoir le message "voulez-vous remplacer ?"
    Application.DisplayAlerts = False
        ActiveWorkbook.SaveAs SousDossier & Fichier & Extension
    Application.DisplayAlerts = True

    MsgBox ("Dossier :" & Chr(10) & Chemin & Chr(10) & Chr(10) & _
            "Sous dossier :" & Chr(10) & SousDossier & Chr(10) & Chr(10) & _
            "Fichier :" & Chr(10) & Fichier & Extension)
End If
End Sub

A+

Bonjour Geof52,

Merci pour ta réactivité, effectivement mon code était loin de pouvoir fonctionner ;)

Si je comprends bien dans ton code les cellules suivante doivent correspondre au cellule de mon nom de fichier et de mon chemin d'accès ?

image

Dans mon cas "N12"pour le nom et "N14" pour le chemin ? si j'ai bien compris j'ai un problème :

image

Peux tu me dire si j'ai fait une erreur ?

merci encore pour ton aide ;)

Eddy

C'est ça,

Mon C3 / C4 (voir piece jointe dans mon message precedent)

image

correspond au nom du fichier et du chemin

Merci encore pour ton aide Geof52 ;)

j'ai compris

Eddy

Rechercher des sujets similaires à "enregistrer fichier via macro"