aurelien.r
XLDnaute Nouveau
Bonsoir à tous,
Je suis sur un petit projet dont le code est le suivant :
Il a pour but d'enregistrer le fichier ouvert dans un autre dossier (le dossier étant déterminé par le nom de la feuille ouverte).
Cependant, lorsque le nom n'est pas existant, j'aimerais laisser le choix à l'utilisateur de choisir lui même le dossier de sauvegarde du fichier.
je cherche une fonction qui ouvre le fenêtre Sauvegarder Sous, dans le dossier chemin_arrivee et dont le nom est déjà celui du fichier actuel. (l'endroit du problème est en commentaire dans le code).
Cette fonctionnalité serait très simple d'utilisation et flexible pour l'utilisateur par rapport à un userform qui propose les sous-dossiers présents (que j'ai dans le tableau tab_ss_doss)
Je vous remercie d'avance si vous avez des idées qui fonctionnent (ou pour toute autre amélioration du code si vous y voyez des aberrations, je débute et donc toujours à la recherche de conseils).
Aurélien
Je suis sur un petit projet dont le code est le suivant :
Il a pour but d'enregistrer le fichier ouvert dans un autre dossier (le dossier étant déterminé par le nom de la feuille ouverte).
Cependant, lorsque le nom n'est pas existant, j'aimerais laisser le choix à l'utilisateur de choisir lui même le dossier de sauvegarde du fichier.
Code:
Public tab_ss_doss() As String
Sub boucle_generation_sousdossier(chemin_dossier As String)
Dim nom_dossier As String
Dim i As Long
If Right(chemin_dossier, 1) <> "\" Then
chemin_dossier = chemin_dossier & "\"
End If
i = 0
nom_dossier = Dir(chemin_dossier, vbDirectory)
While nom_dossier <> ""
If nom_dossier <> "." And nom_dossier <> ".." Then
ReDim Preserve passage_facture.tab_ss_doss(i)
passage_facture.tab_ss_doss(i) = nom_dossier
i = i + 1
End If
nom_dossier = Dir
Wend
End Sub
Sub sauvegarde_facture()
Dim nom As String
Dim chemin_depart As String
Dim chemin_arrivee As String
Dim test As Boolean
test = False
chemin_depart = Left(ActiveWorkbook.FullName, InStrRev(ActiveWorkbook.FullName, "\"))
nom = Left(ActiveWorkbook.name, InStr(ActiveWorkbook.name, ".") - 1)
Call passage_facture.boucle_generation_sousdossier(gene.chemin_facture) 'gene.chemin_facture est le nom du dossier d'arrivée dont j'extrais les sous-dossiers. Il est définie automatiquement au lancement du classeur excel dans une Auto-Open.
For i = LBound(passage_facture.tab_ss_doss) To UBound(passage_facture.tab_ss_doss)
If nom = passage_facture.tab_ss_doss(i) Then
chemin_arrivee = gene.chemin_facture & nom & "\"
ActiveWorkbook.SaveAs Filename:=chemin_arrivee & nom & ".xlsm"
Kill chemin_depart & nom & ".xlsm"
test = True
End If
Next
If test = False Then
'C'est ici que ce trouve mon problème : je cherche une fonction qui ouvre le fenêtre Sauvegarder Sous, dans le dossier chemin_arrivee et dont le nom est déjà celui du fichier actuel.
End If
End Sub
je cherche une fonction qui ouvre le fenêtre Sauvegarder Sous, dans le dossier chemin_arrivee et dont le nom est déjà celui du fichier actuel. (l'endroit du problème est en commentaire dans le code).
Cette fonctionnalité serait très simple d'utilisation et flexible pour l'utilisateur par rapport à un userform qui propose les sous-dossiers présents (que j'ai dans le tableau tab_ss_doss)
Je vous remercie d'avance si vous avez des idées qui fonctionnent (ou pour toute autre amélioration du code si vous y voyez des aberrations, je débute et donc toujours à la recherche de conseils).
Aurélien