IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Enregistrer fichier dans répertoires variables [XL-2003]


Sujet :

Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Enregistrer fichier dans répertoires variables
    Bonjour,

    Je suis nouveau dans ce forum et vous remerci du travail accompli car vos différents posts m'ont énormément fait progresser dans VBA.

    Néanmoins et malgré avoir écumé pas mal de discussions, je bute sur un petit souci (pour vous bien entendu):

    J'ai créé un fichier pour le travail qui doit être utilisé par différentes personnes.
    Ce que je veux, c'est que la sauvegarde de ce fichier (sauvegardé avec sa date dans le nom) se place dans un répertoire spécifique celon le numéro d'identification du fonds d'investissement et la période (02-2010).

    Tout fonctionne bien lorsque la macro doit créer le répertoire avec le numéro d'identification et le sous-répertoire de la période, mais le chemin que je spécifie pour la sauvegarde du fichier contenant les variables citées plus haut n'est pas reconnu :'(

    Voici ce que j'ai fait et d'avance merci pour votre aide.

    Pour terminer, désolé si ce post à déjà été évoqué ailleurs mais je ne l'ai pas trouvé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    Sub SousRepertoires()
     
    fonds = Sheets("Analyse").Range("E9")
    periode = Format(Date, "mm-yyyy")
    document = Sheets("Analyse").Range("C5")
    nomsave = document & " " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".xls"
     
     
      Dim fsO As Object
      Dim oRepertoire As Object
      Dim oRacine As Object
      Dim oSousRep As Object
    ' Vérifier si le répertoire destination sur la disquette éxiste.
      If Dir$("B:\" & fonds, vbDirectory) <> "" Then
     
      Else
        Set fsO = CreateObject("Scripting.filesystemObject")
    '   Créer le répertoire
        Set oRepertoire = fsO.createfolder("B:\" & fonds)
    '   L'établir comme racine pour d'autres répertoires
        Set oRacine = oRepertoire.subfolders
    '   Ajouter un sous répertoire à MonRepertoire sans mention de l'endroit !
        Set oSousRep = oRacine.Add(periode)
     
        End If
     
     
    ThisWorkbook.SaveAs ("B:\" & [fonds] \ [periode] \ (nomsave))
     
    End Sub

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut zadio et le forum
    Bienvenue

    Il existe un sous-forum destiné aux macros et VBA. L'utiliser te permettrait d'avoir plus de réponses et plus rapidement, quand ça concerne du code.

    Pas envie de tester, alors que quelques remarques purement personnelles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    Sub SousRepertoires()
    Dim fsO As Object
    Dim oRepertoire As Object
    Dim oRacine As Object
    Dim oSousRep As Object
    fonds = Sheets("Analyse").Range("E9")
    periode = Format(Date, "mm-yyyy")
    document = Sheets("Analyse").Range("C5")
    nomsave = document & " " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".xls"
     
     
    ' Vérifier si le répertoire destination sur la disquette éxiste.
    If Dir$("B:\" & fonds, vbDirectory) = "" Then
        Set fsO = CreateObject("Scripting.filesystemObject")
        '   Créer le répertoire
        Set oRepertoire = fsO.createfolder("B:\" & fonds)
        '   L'établir comme racine pour d'autres répertoires
        Set oRacine = oRepertoire.subfolders
        '   Ajouter un sous répertoire à MonRepertoire sans mention de l'endroit !
        Set oSousRep = oRacine.Add(periode)
    End If
    ThisWorkbook.SaveAs ("B:\" & fonds & "\" & periode & "\" & nomsave)
    End Sub
    Pourquoi tester sous "else" en mettant non(condition) ?
    Autant tester la condition en direct.

    Pourquoi ne déclarer que quelques variables ? Il vaut mieux toutes les déclarées.

    Ayant beaucoup de répertoires, sous-répertoires et fichiers contenant des noms avec dates, je préfère travailler avec la date à l'envers : AAAA-MM-JJ. Un classement permet d'avoir rapidement les fichiers par années et quand je recherche, c'est beaucoup plus rapide à grouper
    2009-01
    2009-02
    ....
    2010-01
    2010-02

    alors que dans l'autre sens

    01-2009
    01-2010
    ......
    02-2009
    02-2010
    Mais ce n'est qu'une question d'habitude de travail.

    Comme je n'ai pas testé le code et que je n'ai pas l'habitude de travailler sur des créations de dossiers, sous-dossiers, fichiers (par macro), je l'ai juste réorganisé, en modifiant les erreurs qui me sautaient aux yeux.
    Si ça ne fonctionne pas, pour aider au dépannage, exécute tes macros en pas-à-pas pour donner la ligne en erreur, et la nature de l'erreur. Le dépannage en est souvent plus rapide.
    A+

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Merci Gorfael,

    Je vais tester.
    Bonne journée

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Ca marche très bien Gorfael.

    Merci encore !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Ouverture de fichiers dans répertoire variable
    Par Bpillon dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/10/2011, 09h49
  2. [FTP] Récupération d'un fichier dans une variable
    Par leeloo1902 dans le forum Langage
    Réponses: 3
    Dernier message: 05/06/2007, 20h31
  3. lancer wget et récuperer le fichier dans une variable
    Par luc-b dans le forum Général Python
    Réponses: 8
    Dernier message: 10/05/2006, 10h47
  4. Shell: récupérer le bon nom de fichier dans une variable
    Par claralavraie dans le forum Linux
    Réponses: 1
    Dernier message: 10/01/2006, 11h45
  5. Récupérer contenu de fichier dans une variable
    Par peppena dans le forum Linux
    Réponses: 4
    Dernier message: 15/06/2005, 12h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo