Répertoire enregistrement PDF

Bonjour à tous du forum,

J'ai un classeur qui me permet de créer et d'enregistrer des commandes. Par défaut, la commande en PDF est sauvegardée dans le répertoire où figure mon classeur excel. Ce que j'aimerais, si c'est possible c'est qu'elle soit sauvegardée dans le répertoire correspondant à l'année de la date de départ. Si je crée une commande aujourd'hui pour un départ le 1 janvier 2012, je veux qu'elle soit sauvegardée automatiquement dans 2012. Par contre, si je crée une commande aujourd'hui pour un départ le 31 décembre 2011, je voudrais qu'elle soit sauvegardée dans le dossier 2011. Si c'est pour le 15 avril 2013, je veux qu'elle soit sauvegardée dans 2013, etc. Si le dossier de l'année n'existe pas, alors il faut qu'il soit créé. La date de départ est insérée dans la cellule B18 de la nouvelle commande avec un calendrier sous forme yyyy-mm-dd. Si on pouvait me donner quelques pistes pour y parvenir, cela m'aiderait. Voici la partie de mon code qui me permet de sauvegarder en PDF:

Private Sub Impression(ByVal Fichier As String)
With ThisWorkbook
    If MsgBox("Voulez-vous imprimer la commande?", vbYesNo) = vbNo Then Exit Sub
    'Ne pas imprimer
    ThisWorkbook.Sheets("Contrat").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & Fichier & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Application.DisplayAlerts = True
End With
End Sub

Merci de votre aide,

Claude

Bonsoir Klode le forum

pour faire cela il faut nous dire ou se trouvent tes dossier année 2010 année 2011 etc

dans la même dossier que ton fichier actuel?

à te relire

a+

papou

Bonjour et merci de bien vouloir m'aider,

J'ai un dossier qui se nomme Ventes. Dans ce dossier, se trouvent les sous-dossiers pour chaque année, 2010, 2011. Le classeur excel pour préparer mes commandes se trouve également dans ce dossier.

Claude

Bonjour Claude le forum

et tes fichiers tu les enregistres en mettant quoi comme nom?

Commande et la date ?? ou est-ce qu'il faut aussi ajouter un nom de cellule ? ou autre

sans fichier support c'est pas simple !!!!!

a+

papou


Re bonjour Klode le forum

bon alors tu veux plus répondre???

tu les enregistres sous quel nom tes fichiers?? la valeur d'une cellule la date ou quoi d'autre???

a+

papou

Bonsoir à tous, excusez-moi mais je suis à l'extérieur et je n'ai pas toujours accès à Internet. Mes fichiers sont enregistrés selon le numéro de commande et le nom du client, sous la forme 100100 - Nom du Client. Chaque numéro de commandes est incrémenté automatiquement à la création d'une nouvelle commande. Ces renseignements sont prélevés dans la feuille de commande aux cellules correspondantes. Si vous désirez, je peux inclure une copie de mon fichier excel afin de mieux comprendre.

Merci,

Claude

Bonjour Klode le forum

Franchement oui ce serait mieux que tu nous mettes ton fichier avec dans une cellule le résultat souhaité, c'est à dire le nom du fichier à obtenir et donc là ou on doit trouver les infos composant le nom du futur fichiers, et après on va avancer.

a+

papou

Bonsoir à tous du forum,

Excusez mon retard à répondre, mais travail oblige...

J'ai préparé une copie de mon classeur avec une commande préparée d'avance. Tout ce qu'il y a à faire, c'est de cliquer sur le bouton Créer Commande au bas de la première feuille. Une copie PDF sera alors sauvegardée au même endroit où se trouve le classeur. Sur la feuille Contrat, la date de départ est en B18 sous forme JJ-MM-YYYY. Ce que j'aimerais faire, c'est qu'en créant la copie PDF, elle soit sauvegardée dans le dossier 2011, soit d'après l'année de la date de départ. Si le dossier 2011 n'existe pas, il faut le créer automatiquement. Il faut qu'il en soit de même pour les voyages des années suivantes.

Merci,

Claude

Salut le forum

Klode a écrit :

Si le dossier de l'année n'existe pas, alors il faut qu'il soit créé.

Création de répertoire si non existant

Sub CreateFolder()
Dim fso
Dim fol As String
Dim annee as Integer
annee=2012
fol = "D:\Ventes\" & annee ' A adapter
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(fol) Then
    fso.CreateFolder (fol)
Else
    MsgBox fol & " already exists!", vbExclamation, "Folder Exists"
End If
End Sub

Mytå

Rechercher des sujets similaires à "repertoire enregistrement pdf"