Code pour enregistrer fichier selon arborescence

Bonjour,

j'ai un fichier excel que je veux enregistrer en PDF dans un dossier, jusque la tout va bien, mon dossier a l'arborescence suivante :

w:\CLIENTS\CLIENT A

CLIENT B

CLIENT C\factures\01-JANVIER

02- FEVRIER

03- MARS

mon dossier clients comprends plusieurs clients A B ET C et dans le dossier du client A il y a plusieurs dossiers dont le dossier factures a l’intérieur duquel elles sont rangées par mois.

j'ai crée un userform avec 2 comBobox, une pour le nom du client et l'autre pour le mois de la facture, le code fonctionne pour la 1ere comBobox, il va bien chercher dans mon dossier les noms des clients, mais je bloque pour la deuxième ??

 Private Sub ComboBox1_Change()

End Sub

Private Sub ComboBox2_Change()

End Sub

Private Sub CommandButton1_Click() 'bouton "Enregistrer"
Dim CH As String 'déclare la variable CH (CHemin d'accès)
Dim NF As String 'déclare la variable NF (Nom du Fichier)

If Me.ComboBox1.Value = "" Then 'si la Combobox1 est vide
    MsgBox "Vous devez sélectionner un dossier !" 'message
    Me.ComboBox1.SetFocus 'place le curseur dans la ComboBox1
    Exit Sub 'sort de la procédure
End If 'fin de la condition
NF = Sheets("Feuil1").Range("A1").Value 'définit le nom du fichier (à adapter)
CH = "W:\CLIENTS\" & Me.ComboBox1.Value & " 'définit le chemin d'accès au fichier"
ThisWorkbook.SaveAs (CH & NF & ".pdf") 'enregistre le fichier sous (extension à adapter)
End Sub

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Dim SF As Object 'définit la variable SF (Système de Fichiers)
Dim DR As Object 'définit la variable DR (Dossier Racine)
Dim SD As Object 'définit la variable SD (Sous Dossier)
Dim DS As Object 'définit la variable DS (DossierS)

Set SF = CreateObject("Scripting.FileSystemObject") 'définit le système de fichier SF
Set DR = SF.Getfolder("W:\CLIENTS") 'définit le dossier racine DR
Set SD = DR.subfolders 'définit l'ensemble des sous dossiers SD du dossier racine
For Each DS In SD 'boucle sur tous les dossiers DS de l'ensemble SD
    Me.ComboBox1.AddItem DS.Name 'ajoute le nom du dossier à la ComboBox1
Next DS 'prochain dossier de la boucle
End Sub

Merci d'avance pour vos réponses.

Astil

Bonjour,

tu parles de deux combobox donc la deuxième avec 01-Janvier est alimentée comment ?

Sinon ton chemin final ce sera bien :

CH = "W:\CLIENTS\" & Me.ComboBox1.Value & "\" & Me.Combobox2.value & "\"

Nota un répertoire par mois pourquoi pas mais quand l'année change ? les factures janvier 2018 avec les 2019 ?

Bonjour,

merci pour ta réponse, justement la deuxième comBobox, je n'arrive pas a l'alimenter !

concernant le première, il va bien dans le dossier racine CLIENTS ET me liste bien le client A client B et client C

et je voudrais qu'il en soit de même pour le mois.

est ce qu'il ne faudrait pas enrichir la ligne du dossier racine ?

Set DR = SF.Getfolder("W:\CLIENTS") 'définit le dossier racine DR

Merci d'avance

Re, je ne sais pas à quoi ressemble ton fichier donc difficile de dire comment paramêtrer ta combobox2

Tu peux faire une liste en colonne dans une feuille excel ou tu inscrits 01-janvier 02-fevrier .......

tu selectionnes les 12 cellules et tu donnes un nom. ensuite dans la propriété de la combobox2 en Rowsource tu donnes

le même nom.

Cependant si la combobox2 doit changer toute seule de mois ; alors difficile sans plus d'info de définir l'événement déclencheur et

la méthode.

Pour les détails du chemins si le paramétrage est correcte alors inutile d'ajouter des variables supplémentaires.

Tu as ton début de chemin + ton nom de répertoire1 + ton nom de répertoire2 … cela suffit amplement.

Par contre comme je le disais plus haut à ta place je me prendrais pas la tête avec un répertoire par mois puisque les années seront

mélangées. c'est dans le nom de facture que j'aurai indiqué la date pour pouvoir trier exemple 2019-01-client1-fact2.

Mais c'est ton choix .

Re, Merci

le repertoire 2 est un sous répertoire du dossier factures qui contient les mois de janvier a décembre.

Merci

Rechercher des sujets similaires à "code enregistrer fichier arborescence"