Probleme pour enregistrer un fichier excel dans un sous dossier [Résolu]

veve890 26 Messages postés mardi 18 novembre 2014Date d'inscription 17 janvier 2015 Dernière intervention - 10 janv. 2015 à 16:10 - Dernière réponse : veve890 26 Messages postés mardi 18 novembre 2014Date d'inscription 17 janvier 2015 Dernière intervention
- 12 janv. 2015 à 18:12
Bonjour,
voici mon problème
je voudrais créer un dossier suivant le résultat de la cellule A1 dans mon dossier excel ensuite je voudrais créer un sous dossier suivent la cellule B1 et enfin enregistrer mon fichier excel renommer avec la date du jour et le nom se trouvent dans la cellule B2

j ais arrive a créer le dossier et le sous dossier si il n existe pas mais pour enregistrer le fichier avec la date du jour et le nom qui se trouve en B2 j ais vraiment besoin de votre aide je vous envoie mon code

Sub Bouton16_Clic()


 On Error Resume Next
Dim Chemin As String
Dim mondossier As String
Dim mondossier2 As String
Dim Fichier As String
Dim i As Long, j As Integer


' Nom du chemin
Chemin = "C:\essai\"

'Nom du dossier
'code pour donner le nom de mondossier qui se trouve dans A1
mondossier = Range("A1").Value

'code pour donner le nom de mondossier2 qui se trouve dans B1
mondossier2 = Range("B1").Value

'nom du fichier
'code pour donner le nom a mon fichier qui se trouve dans B2
Fichier = Range("B2") & Format(Date, "ddmmyyyy") & " " & ".xlsm"

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
       MkDir Chemin & Cells(i, 1)
        
'code qui crait un dossier avec le nom du fichier qui se trouve dans B1 et le crait dans le chemin c:\
For j = 2 To Cells(i, Columns.Count).End(xlToLeft).Column
            MkDir Chemin & Cells(i, 1) & "\" & Cells(i, j)
     Next j
Next i
    
    End Sub


pouvez vous m expliquer en même temps a quoi sa correspond pour enrichir mes connaissance
merci beaucoup c est urgent



EDIT : Ajout des balises de code
Afficher la suite 

Votre réponse

10 réponses

ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 10/01/2015 à 20:22
0
Merci
Bonjour,
Commence par éviter ce très vilain "On Error Resume Next" qui cache les problèmes sans les résoudre. Il est d'autant mal venu qu'il intervient finalement tout le long d'une boucle !
Il y a mieux avec une fonction de l'Api de Windows, mais tu es débutant. Utilise alors la fonction Dir pour vérifier que le dossier existe et ne le crée que s'il n'existe pas
Ainsi :
titi = Dir("D:\toto", vbDirectory)
fera que titi = "" si n'existe pas le dossier D:\toto
nous verrons ensuite le reste.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Commenter la réponse de ucfoutu
jordane45 22512 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 septembre 2018 Dernière intervention - 10 janv. 2015 à 20:17
0
Merci
Bonjour,

Merci d'utiliser la coloration syntaxique pour poster du code sur le forum !
explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code



Commenter la réponse de jordane45
veve890 26 Messages postés mardi 18 novembre 2014Date d'inscription 17 janvier 2015 Dernière intervention - Modifié par veve890 le 11/01/2015 à 09:43
0
Merci
bonjour merci de votre réponse
mais j ais déjà suivie la fonction dir mais j arrive a créer le dossier qui a pour valeur le résultat de la cellule A1 et ensuite a enregistrer le fichier avec comme nom la valeur dans B2 mais je n arrivée pas a créer le sous dossier et de mettre la date dans le nom du fichier
voici le code que j avais utilise

Sub Bouton1_Clic()

Dim Chemin As String
Dim mondossier As String
Dim Fichier As String

' Nom du chemin
Chemin = "C:\essai\"

'Nom du dossier
mondossier = Range("A1").Value

'nom du fichier
Fichier = Range("B2") & " " & ".xlsm"
'teste de la présence du dossier
If Dir(Chemin & mondossier, 16) = "" Then MkDir Chemin & mondossier

ActiveWorkbook.SaveAs Chemin & mondossier & "\" & Fichier
End Sub
    
Commenter la réponse de veve890
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 11/01/2015 à 10:31
0
Merci
mais je n arrivée pas a créer le sous dossier

veux-tu bien t'efforcer de mettre cette phrase en bon français, car, telle qu'écrite, on ne sait pas dut tout si "arrivée" veut dire "arrive" ou "arrivais" (et cela change tout !)
Montre ce que tu as écrit dans ta double boucle en respectant le principe que tu as utilisé pour un seul article.

je suis par enfin étonné de constater que tu as mis le nom de fichier à attribuer dans une cellule qui, parcourue dans ta boucle imbriquée de construction de sous-dossiers, apparaîtra donc comme nom d'un dossier (lorsque I = 2) !!

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Commenter la réponse de ucfoutu
veve890 26 Messages postés mardi 18 novembre 2014Date d'inscription 17 janvier 2015 Dernière intervention - 11 janv. 2015 à 14:24
0
Merci
mille excuse mais je suis tres debutent en vba et moyen en francais
donc en premier le dossier se cree dans le chemin essai
en 2 le sous dossier se met dans le dossier
et en 3 je voudrais enregistrer mon fichier excel dans le sous dossier
mais cela ne marche pas
je vous demande vraiment votre aide
et surtout en meme temp m expliquer
merci
je doit partire pour dfiler pour charlie
Commenter la réponse de veve890
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 11/01/2015 à 18:35
0
Merci
J'ai quelques difficultés à te suivre.
Montre ici :
1) une image (pas ton fichier, mais une image) de la feuille à traiter
2) le/les chemin(s) de sauvegarde (en précisant pour chacun ce qu'il doivt contenir).
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Commenter la réponse de ucfoutu
veve890 26 Messages postés mardi 18 novembre 2014Date d'inscription 17 janvier 2015 Dernière intervention - 11 janv. 2015 à 19:20
0
Merci
mon fichier c est des formulaires a remplire un par feuilles il y en a 7 au totale + la feuille menu
qui contient le bouton enregistrement et les cellules qui sert de reference pour le dossier le sous dossier et pour renommer le fichier
donc a l ouverture du fichier il y a un userform qui s ouvre avec des textbox la ont rentre dans chaque textbox les infos demande pour deja remplire les formulaires automatiquement et en plus certain textbox sert aussi a remplire en meme temp la cellule A1 B1 B2

donc quand ont clik sur le bouton enregistrement je veut regarder dans c:\essai si le dossier de l annee en cour existe ou pas si il n existe pas le creer suivant A1 qui a l annee en cour exemple 2015
ensuite je voudrais faire la meme chose pour le sous dossier qui regarde dans c:\essai\2015 si il existe ou pas et le creer si il n existe pas suivant la cellule B1 et pour finire je voudrais que mon fichier soit renommer selon la cellule B2 et la date du jour et qu il s enregistre dans le sous dossier C:\essai\2015\sous dossier\
pour donner a la fin le chemin suivant c:\essai\2015\le nom du sous dossier\le nom du fichier avec la date du jour
voila j espere que vous comprendrerait
merci encore de votre aide
Commenter la réponse de veve890
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 11/01/2015 à 20:31
0
Merci
Non. Ce n'est pas cela, que je t'ai demandé de montrer (on n'en sortira jamais ainsi).
Fais s'il te plait ce que je t'ai dit .
Pour mémoire :
Montre ici :
1) une image (pas ton fichier, mais une image) de la feuille à traiter
2) le/les chemin(s) de sauvegarde (en précisant pour chacun ce qu'il doivt contenir).

Rien d'autre que cela.


Tes textboxes et ton userform (qui arrivent maintenant "sur le tapis") n'ont absolument rien en commun avec le problème tel qu'exposé par ton premier message et qui, lui, traite de cellules, de dossiers, de sous-dossiers et de sauvegarde dans des fichiers.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
jordane45 22512 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 septembre 2018 Dernière intervention - 12 janv. 2015 à 03:48
Fais s'il te plait ce que je t'ai dit .

Sans oublier

Merci d'utiliser la coloration syntaxique pour poster du code sur le forum !
explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Commenter la réponse de ucfoutu
veve890 26 Messages postés mardi 18 novembre 2014Date d'inscription 17 janvier 2015 Dernière intervention - 12 janv. 2015 à 18:12
0
Merci
bonsoir
j ais voulue vous expliquer mon projet de a-z mais je vous est plutôt perturbe je m en excuse
j ais fini par trouve se que je voulais faire
j ais ajoute un code pour copier le chemin complet de mon dossier et sous dossier exmple c:\2015\20000\ dans une cellule
et ensuite j ais di a mon fichier de s enregistrer dedans et sa marche
merci encore de votre aide
Commenter la réponse de veve890

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.