Se connecter avec
S'enregistrer | Connectez-vous

Enregistrer un fichier dans un nouveau répertoire créé

Dernière réponse : dans Programmation

Bonjour :hello: ,

J'aurais besoin d'une aide sur un problème.

En fait le code ci dessous me permet dans un premier temps de crééer un nouveau répertoire.
Ensuite j'aimerais créer un nouveau fichier excel et l'enregistrer dans ce nouveau répertoire qui vient d'être crééer.
C'est là que ça bloque : au niveau du chemin où le fichier doit être enregistré (la dernière ligne de code).

Merci d'avance de votre aide

  1. Option Explicit
  2. ' 1.CREER NOUVEAU DOSSIER ET LUI DONNER LE NOM DU "MOIS EN COURS"
  3. '-------------------------------------------------------------------------------------------------------
  4. Sub NvoTaborMois()
  5. Dim MonChemin As String
  6. MonChemin = "C:\My Documents\AUTRES"
  7. On Error Resume Next
  8. MkDir MonChemin & "\" & UCase(Format(Date, "mmmm"))
  9. On Error GoTo 0
  10. End Sub
  11.  
  12. ' 2. enregistrer
  13. '----------------------------------------------------------
  14. 'Créér un nouveau fichier Excel
  15. Dim NvoClasseur As Workbook
  16. Set NvoClasseur = Workbooks.Add
  17. Dim MessageB
  18. MessageB = MsgBox("Veuillez coller les données extraites", 1)
  19. If MessageB = vbCancel Then 'si l'utilisateur clique sur "annuler"
  20. NvoClasseur.Close 'alors fermer le classeur nouvellement créé
  21. End If
  22. 'Sauvegarde du Nouveau Classeur
  23. NvoClasseur.SaveAs Filename:="C:\My Documents\AUTRES" & MonChemin & "\monclasseur.xls"
  24. End Sub
fopy12 a édité ce message
Lassé par la pub ? Créez un compte
Expert Programmation

Salut,

Et simplement en relisant ton code ?

Ligne 10, tu mets une constante dans une variable. Soit.
Ligne 12, tu crées ton dossier, mais tu ne mets pas son nom dans ta variable. Bon.
Ligne 27, tu voudrais que le nom du dossier viennent par miracle dans ton chemin. Ben non.......

----------------

Non mais qu'est-ce que c'est que cette ligne 7 ????? :ouch: 
Tu t'imagines que VB ne sait pas récupérer le mois en cours ?

  1. Mois_en_cours_et_en_majuscule = UCase(Format(Date, "mmmm"))

J'ai corrigé la première partie du code.

zeb a dit :

Ligne 27, tu voudrais que le nom du dossier viennent par miracle dans ton chemin. Ben non.......

Oui ... :) 
enfin, je veux bien l'avoir :) 
J'ai creusé et après plusieurs tentatives, pas de miracle.
T'aurais un indice au moins
merci

ah mais j'ai déjà l'indice !
  1. 1.Mois_en_cours_et_en_majuscule = UCase(Format(Date, "mmmm"))


Merci Zeb :bounce: 

  1. Option Explicit
  2. Sub NvoTaborMois()
  3. Dim MonMois
  4. Dim MonChemin As String
  5. MonChemin = "C:\My Documents\AUTRES"
  6. On Error Resume Next
  7. MonMois = UCase(Format(Date, "mmmm"))
  8. MkDir MonChemin & "\" & MonMois
  9. On Error GoTo 0
  10.  
  11. ' 2. enregistrer
  12. '----------------------------------------------------------
  13. 'Créér un nouveau fichier Excel
  14. Dim NvoClasseur As Workbook
  15. Set NvoClasseur = Workbooks.Add
  16. Dim MessageB
  17. MessageB = MsgBox("Veuillez coller les données extraites", 1)
  18. If MessageB = vbCancel Then 'si l'utilisateur clique sur "annuler"
  19. NvoClasseur.Close 'alors fermer le classeur nouvellement créé
  20. End If
  21. 'Sauvegarde du Nouveau Classeur
  22. NvoClasseur.SaveAs Filename:="C:\My Documents\AUTRES\" & MonMois & "\monclasseur.xls"
  23. End Sub
fopy12 a édité ce message
Expert Programmation

Mouhais.....

Et comme ça :
  1. MonChemin = "C:\My Documents\AUTRES\" & UCase(Format(Date, "mmmm"))
  2. ...
  3. MkDir MonChemin
  4. ...
  5. NvoClasseur.SaveAs MonChemin & "\monclasseur.xls"


En appliquant un bon vieux principe : moins c'est compliqué, plus c'est simple.
:o 

.
.
.
.
:lol: 





zeb a dit :
Mouhais.....

Et comme ça :
  1. MonChemin = "C:\My Documents\AUTRES\" & UCase(Format(Date, "mmmm"))
  2. ...
  3. MkDir MonChemin
  4. ...
  5. NvoClasseur.SaveAs MonChemin & "\monclasseur.xls"



ouais j'avoue...:jap: 

comment on met "résolu" maintenant?
Expert Programmation

Tu n'as pas posé une question mais tu as ouvert un débat.
Donc, pas de résolution à un tel sujet.

Il aurait fallut cocher la case "attribuer des points" à la création du sujet.
Voilà !
zeb a édité ce message
Lassé par la pub ? Créez un compte