[VB / EXCEL] Enregistrement d'un fichier

Résolu/Fermé
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 - 9 déc. 2008 à 09:40
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 - 11 déc. 2008 à 09:35
Bonjour,
Je souhaite enregistrer mon fichier .xls dans le dossier C:\doc......\BREST\monfichiers.xls. l'enregistrement basique n'est pas un problème.

p.s: BREST est juste un exemple

La où ça se corse c'est que je veux que mon fichier s'enregistre automatiquement dans le dossier \BREST\ ou autre ville en fonction de la valeur de la cellule C6 sur ma feuil1.

je pose mon fichier afin que vous puissiez voir plus en détail ce que je souhaite

http://www.cijoint.fr/cjlink.php?file=cj200812/cijHdBBfMi.xls

Merci d'avance
A voir également:

13 réponses

wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
9 déc. 2008 à 11:21
Bonjour

je n'ai pas tout compris tu parles de Brest ou une autre ville mais c'est ou dans ta feuille ? j'imagine c6 donc voici en macro en fonctione de C6

sub save_fichier()
    dim chemin as string
    chemin = "C:\Documents and Settings\lionel tailler\Mes documents\Fiche" &  _
                  "d'intervention\INTERVENTIONS_TRAITEES\CURATIVE\" & range("C6")
    on error resume next ' La création d'un repertoire s'il existe déja provoque une erreur
    Mkdir chemin
    on error goto 0 ' je rends la main du contrôle d'erreur
    thisworkbook.saveas filename:=chemin & "\FICHE_INTERVENTION ok " & Range("A4") & ".xls"
end sub
1
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 11
9 déc. 2008 à 12:11
Merci pour ta réponse

tu parles de Brest ou une autre ville mais c'est ou dans ta feuille ?

Colonne H couleur de police Blanc c'est pour ça que tu ne les as pas vu :)

Je vérifie si ça colle de mon coté je te tiens au courant
0
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 11
9 déc. 2008 à 17:58
up
1
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
9 déc. 2008 à 13:04
Bonjour tous,
Si l'utilisateur est suceptible de changer !!

    chemin = Environ$("USERPROFILE") & "\Mes documents\Fiche" &  _
                  "d'intervention\INTERVENTIONS_TRAITEES\CURATIVE\" & range("C6")

A+
0
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 11
9 déc. 2008 à 14:57
sub save_fichier()
    dim chemin as string
    chemin = "C:\Documents and Settings\lionel tailler\Mes documents\Fiche" &  _
                  "d'intervention\INTERVENTIONS_TRAITEES\CURATIVE\" & range("C6")
    on error resume next ' La création d'un repertoire s'il existe déja provoque une erreur
    Mkdir chemin
    on error goto 0 ' je rends la main du contrôle d'erreur


Jusque là c'est exactement ce que je souhaité mais la dernière ligne

thisworkbook.saveas filename:=chemin & "\FICHE_INTERVENTION ok " & Range("A4")


me met un message d'erreur exécution 1004

=> Le nom du fichier ou le chemin n'existe pas
=> Ce fichier est actuellement utilisé par un autre programme => non juste vb et mon classeur d'ouvert
=> Le classeur que vous essayer d'enregistrer porte le meme nom qu'un .... (je ne vois pas la suite hors cadre) => mais impossible.

Bref tout semble bon mais ça ne passe pas
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
9 déc. 2008 à 16:18
re:

la pharse n'est pas complete : il manque la fin
thisworkbook.saveas filename:=chemin & "\FICHE_INTERVENTION ok " & Range("A4") & ".xls"

question : en gras, c'est le début du nom du classeur ou c'est encore un répertoire ???

dans A4 : quels sont les caractères possibles : certains caractères sont interdit : comme : / (chemin d'url), \ (Chemin répertoire) ....
0
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 11
9 déc. 2008 à 16:35
Re et merci

FICHE_INTERVENTION " & Range("A4") & ".xls"

c'est le nom de mon fichier .xls

"C:\Documents and Settings\lionel tailler\Mes documents\Fiche d'intervention\INTERVENTIONS_TRAITEES\CURATIVE\" & range("C6")\FICHE_INTERVENTION " & Range("A4") & ".xls"

Voila en faite l'arborescence c'est un classement par ville [range=("C6")] que je souhaite.



Dans A4 il s'agit d'une date au format aaaammjj ce qui permet de faire un N° d'intervention.

A4 est linkée C4 qui est la date au format jj-mm-aaaa

Merci d'avance
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
9 déc. 2008 à 18:21
re:

"C:\Documents and Settings\lionel tailler\Mes documents\Fiche d'intervention\INTERVENTIONS_TRAITEES\CURATIVE\" & range("C6") & "\FICHE_INTERVENTION " & Range("A4") & ".xls"

dans la ligne je ne vois que ce problème, si le répertoire est bien créé au bon endroit tu ne devrais plus avoir de problème, si le répertoire n'existe pas, la première procédure que je t'ai donnée devrait le faire


0
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 11
10 déc. 2008 à 09:58
Je viens de penser a une chose tout mes dossiers sont bloqués en lecture seule peut il y avoir une répercution sur la macro ?

P.S : j 'ai déjà testé la commande dos attrib

Bizarre car j ai tout de même mon répertoire \C6\ qui se crée.

wilfried_42, merci pour ton aide je vais finir par faire un screen écran :s

lien screen écran

j'ai ouvert l'explorateur derrière l'éditeur vb pour te montrer que le repetoire \Brest\ se crée bien

http://www.cijoint.fr/cjlink.php?file=cj200812/cijVvato3u.bmp
0
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 11
10 déc. 2008 à 11:03
sub save_fichier()
    
Dim chemin As String
    chemin = "C:\Documents and Settings\lionel tailler\Mes documents\Fiche" & _
                  " d'intervention\INTERVENTIONS_TRAITEES\CURATIVE\" & Range("C6")
    On Error Resume Next ' La création d'un repertoire s'il existe déja provoque une erreur
    
visual = True
    
    MkDir chemin
   
     ChDir chemin

    On Error GoTo 0 ' je rends la main du contrôle d'erreur
   
 ThisWorkbook.SaveAs Filename:=chemin & "\FICHE_INTERVENTION" & Range("A4") & ".xls" _

end sub


J'ai même essayer d'ajouter le code chdir mais rien n'y fait toujours la même erreur que dans le screen
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
10 déc. 2008 à 12:39
Bonjour,
Si tes fichiers sont en lecture seule y a pas moyen de les sauver, faut changer l'attribut.
A+
0
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 11
10 déc. 2008 à 14:56
impossible de le changer j'y arrive pas
=> invite de commande
=> B.D.R

si c'est de la d'où viens le soucis c'est soulant merci crosoft
0
wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 244
10 déc. 2008 à 15:37
re:

dans une fenetre Dos

c:>Help attrib

cela donne :
Affiche ou modifie les attributs de fichier.

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I] 
       [lecteur:][chemin][nom fichier] [/S [/D] [/L]]

  +   D‚finit un attribut.
  -   Efface un attribut.
  R   Attribut de fichier en lecture seule.
  A   Attribut de fichier archive.
  S   Attribut de fichier systŠme.
  H   Attribut de fichier cach‚.
  I   Attribut de fichier index‚ sans contenu.
  [lecteur:][chemin][nom fichier]
      Sp‚cifie un ou plusieurs fichiers … traiter par attrib.
  /S  Traite les fichiers correspondants dans le dossier actif
      et tous ses sous-dossiers.
  /D  Traite ‚galement les dossiers.
  /L  Effectue l'op‚ration sur les attributs du lien symbolique
      plut“t que sur sa cible.

donc : pour enlever les protections d'écriture des répertoires
attrib -R *. /s

pour alles dans le Dos : executer : Cmd
0
Barsky Messages postés 45 Date d'inscription jeudi 20 novembre 2008 Statut Membre Dernière intervention 2 mars 2010 11
11 déc. 2008 à 09:35
Vos codes fonctionnent a merveille le seul truc c est que ma cellule A4 était au format personnalisé aaaammjj linké avec la cellule C4.

Je pensais que ca passerais vu que la date de A4 n'avait pas de caractère / \ ou autre caractère rendant impossible l'enregistrement.

P.S: même avec la commande DOS ATTRIB je n'ai pas reussit à modifier l'attribut lecture seule mais bon ca ne joue pas sur l'enregistrement.
0