Creation d'une nouvelle feuille dans un repertoire

Manuscriteur

XLDnaute Nouveau
Bonjour à tous,

J'ai créer un bouton pour la creation de nouvelles feuilles via une souche avec la date qui s'en suit.

Private Sub CommandButton1_Click()
ThisWorkbook.SaveAs Chemin & "d:\Fuel " & Format(Date, "yyyy") & ".xls"
ThisWorkbook.SaveAs Chemin & "d:\Gasoil " & Format(Date, "yyyy") & ".xls"
ThisWorkbook.SaveAs Chemin & "d:\SP95 " & Format(Date, "yyyy") & ".xls"
Set NewBook = ActiveWorkbook
With NewBook
.Title = "B "
.Subject = "B"
End With
End Sub


Mon souci c'est que je n'arrive pas à faire créer un dossier:

Je voudrais que le dossier s'appelle Carburants avec l'année qui suis.


J'ai essayer ThisWorkbook.SaveAs Chemin & "d:\Carburants" & format (date, "yyyy")\ & "Fuel " & Format(Date, "yyyy") & ".xls"

Mais la hophophop ca marche pas :(

Ou alors il faut demander de créer un repertoire avant par mon useforme et mettre ensuite le chemin mais je cale dur :(

Un petit coup de main serait le bien venu :)

Merci grandement de votre aide :)
 

Manuscriteur

XLDnaute Nouveau
Re : Creation d'une nouvelle feuille dans un repertoire

Bon j'ai reussi à créer mon dossier avec:
MkDir ThisWorkbook.Path & "\Carburants " & Format(Date, "yyyy")

Mais le probléme c'est que je n'arrive pas y mettre automatiquement mes fichiers à l'interieur en passant par ma macro...

Cela étant dit j'en demande peut-être un peu de trop sachant que la valeur apres carburant n'est pas une valeur fixe :s

Ou alors avec une commande que je ne connais pas :'(

Si quelqu'un à une idée je suis preneur pour faire avancer mon idée ou alors en utilisant peut-être une autre technique.

Je cale encore, ou peut-être à cours d'essence ou un coup de pompe :)....

Désolé pour l'humour mais cela fait du bien de temps en temps dans les posts pour detendre l'atmosphére :p
Merci en tout cas de votre aide généreuse.
 

Pierrot93

XLDnaute Barbatruc
Re : Creation d'une nouvelle feuille dans un repertoire

Bonjour,

peut être ainsi :
Code:
MkDir ThisWorkbook.Path & "\Carburants " & Format(Date, "yyyy")
ThisWorkbook.SaveAs ThisWorkbook.Path & "\Carburants " & Format(Date, "yyyy") & "\Fuel " & Format(Date, "yyyy") & ".xls"

bonne journée
@+
 

Manuscriteur

XLDnaute Nouveau
Re : Creation d'une nouvelle feuille dans un repertoire

Salut pierrot93,

Un grand merci pour l'aide, mais si on met cela sur le SP95 et le Gasoil, il me crait un nouveau dossier pour le SP95 et me met une erreur au gasoil.

Il faut surement mettre tous sur la même ligne, je vais essayer quelque test mais si tu as un solution je suis preneur...

Merci encore pour ton aide précieuse cela m'a pas mal avancer :)
 

CBernardT

XLDnaute Barbatruc
Re : Creation d'une nouvelle feuille dans un repertoire

Bonjour à tous,

Si j'ai bien compris, le projet est de créer trois classeurs différents ayant pour source trois feuilles "Fuel", "Gasoil" et "SP95" d'un classeur base. Dans ce cas, la syntaxe est :

Private Sub CommandButton1_Click()
Dim Chemin As String, NomClasseur As String, Fichier As String

' Création du sous répertoire Carburants
'MkDir ThisWorkbook.Path & "\Carburants " & Format(Date, "yyyy")
' Chemin de ce répertoire
Chemin = ThisWorkbook.Path & "\" & "Carburants " & Format(Date, "yyyy")
' Création d'un classeur pour le fuel
Sheets("Fuel").Copy
' Nom du classeur à enregistrer
NomClasseur = "Fuel " & Format(Date, "yyyy")
' Fichier à enregistrer
Fichier = Chemin & "\" & NomClasseur & ".xls"
' Enregistrement
ActiveWorkbook.SaveAs Filename:=Fichier
ActiveWorkbook.Close

'Même procédure pour les deux autres classeurs "Gasoil 2010" et "SP95 2010"

End Sub
 

Manuscriteur

XLDnaute Nouveau
Re : Creation d'une nouvelle feuille dans un repertoire

Heuuu non....
J'ai un classeur souche qui doit être enregistrer 3 fois sous 3 noms différents dans un répertoire carburant.
Donc 1 classeur souche.
Je clique sur le bouton
Il me fait la creation des 3 classeurs SP95,Gasoil et Fuel avec l'année derriére.
Jusque la, on y est arrivé.
Parcontre Fuel est bien dans le répertoire mais les 2 autres ce retrouve sur la racine du disque dur.

Mais je vais essayer avec : Chemin = ThisWorkbook.Path & "\" & "Carburants " & Format(Date, "yyyy")
Pour lui donner le chemin

Je test, si tu as une autre proposition a me faire je suyis partant...

Merci de ta patiente et de ton aide.
 

Pierrot93

XLDnaute Barbatruc
Re : Creation d'une nouvelle feuille dans un repertoire

Re, bonjour Bernard

désolé n'avais pas vu tes messages, depuis le nouveau forum, si messages non lus je ne peux voir si je suis intervenu sur un fil.

Il y a peut être lieu de tester au préalable, si le dossier existe déjà...

Code:
Dim d As String
d = ThisWorkbook.Path & "\Carburants " & Format(Date, "yyyy")
If Dir(d, vbDirectory) = "" Then MkDir d

bon après midi
@+
 

Manuscriteur

XLDnaute Nouveau
Re : Creation d'une nouvelle feuille dans un repertoire

Salut CBernardT,
J'ai effectivement compiler mon code avec Chemin = ThisWorkbook.Path & "\" & "Carburants " & Format(Date, "yyyy")

et j'ai redefinie le chemin de sauvegarde des 3 fichiers.

Nikel chrome pour l'aide, et surtout l'astuce de chemin.

Je voulais definir au debut une variable comme celle-là mais plus j'avancais dans mon code plus je m'egarais.

Merci pour l'aide précieuse et on peut maintenant cloturer le post si un admin passe dans le coin.

bonne fête à tous et surtout bon VBA 2011 :p
 

Discussions similaires

Réponses
2
Affichages
282

Statistiques des forums

Discussions
312 623
Messages
2 090 285
Membres
104 480
dernier inscrit
Gatsuken