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

Macros et VBA Excel Discussion :

Créer dossier dans dossier crée par macro [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 252
    Points : 74
    Points
    74
    Par défaut Créer dossier dans dossier crée par macro
    Bonjour,

    J'ai une macro qui créée un nouveau dossier (ayant pour nom la valeur d'une cellule).
    Je n'arrive pas à créer un dossier à l'intérieur de ce nouveau dossier (ayant pour nom "test").

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub NouveauDossier
    MkDir "P:\2069\" & Range("A12").Value
    MkDir "P:\2069\***le nouveau dossier****\test
    Quelqu'un peut il m'éclairer ?

    Merci

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Points : 42
    Points
    42
    Par défaut
    Bonjour, à essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub NouveauDossier
    MkDir "P:\2069\" & Range("A12").Value
    MkDir "P:\2069\" & range("A12").Value & "\test"
    Cordialement,
    Jordan

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 252
    Points : 74
    Points
    74
    Par défaut
    Ah bah ouais tout simplement.

    Par contre je n'arrive pas à enregistrer un fichier copier dans le nouveau dossier créer.
    Je copie le fichier, je le renomme avec la valeur d'une cellule et je bloque après.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Points : 42
    Points
    42
    Par défaut
    Rebonjour, à essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    'Sauvegarder une copie de la feuille actuelle :
    Me.Application.ActiveWorkbook.SaveCopyAs("P:\2069\" & range("A12").Value & "\test\Nomfichier.xls")
     
    'Sauvegarder une copie du fichier entier : 
    Me.SaveCopyAs("P:\2069\" & range("A12").Value & "\test\Nomfichier.xls")
    Cordialement,
    Jordan

  5. #5
    Membre régulier
    Inscrit en
    Juillet 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 252
    Points : 74
    Points
    74
    Par défaut
    bonjour,

    J'avais essayé quelque chose de quasi similaire mais message erreur 1004 "fichier inaccessible".

    De même avec le code fourni.

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Points : 42
    Points
    42
    Par défaut
    Qu'en est-il de cela, c'est une fonction à part entière à appeler dans le code:

    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
    Private Sub SaveWorkbookAsNewFile()
        Dim ActSheet As Worksheet
        Dim ActBook As Workbook
        Dim CurrentFile As String
     
        Application.ScreenUpdating = False
     
        CurrentFile = ThisWorkbook.FullName
     
            ActiveWorkbook.SaveAs Filename:= "P:\2069\" & range("A12").Value & "\test\Nomfichier.xls", _
                FileFormat:=xlNormal, _
                Password:="", _
                WriteResPassword:="", _
                ReadOnlyRecommended:=False, _
                CreateBackup:=False
     
            Set ActBook = ActiveWorkbook
            Workbooks.Open CurrentFile
            ActBook.Close
        End If
     
        Application.ScreenUpdating = True
    End Sub
    Cordialement,
    Jordan

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 252
    Points : 74
    Points
    74
    Par défaut
    Vraiment désolé j'ai oublié de préciser quelque chose.
    Je ne veux pas sauvegarder le fichier actif mais un autre classeur.

    J'ai mon fichier "Suivi". Quand on clique sur A12 il ouvre le fichier "fiche_" et copie A12 dans la cellule A1 du fichier "fiche_".
    Le fichier "Fiche_" est alors renommé avec le contenu de A1.

    J'en suis là :

    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
    Sub CréationDossier ()
     
    '***CREER NOUVEAUX DOSSIERS***
        MkDir "P:\2069" & Range("A12").Value
        MkDir "P:\2069" & Range("A12").Value & "\aPréparation"
        MkDir "P:\2069" & Range("A12").Value & "\bPublication"
        MkDir "P:\2069" & Range("A12").Value & "\dAnalyse"
     
    '***RENOMMER FICHIER "FICHE_" AVEC CONTENU CELLULE***
       Range("A12").Copy
       Workbooks.Open Filename:= _
       "C:\Documents and Settings\Pierre\Fiche_.xls"
       Range("A1").Select
       ActiveSheet.Paste
       ActiveWorkbook.SaveAs Filename:= _
       'ENREGISTRER DANS LE FICHIER NOUVELLEMENT CREER (ci-dessus)
       ActiveWindow.Close
     
    End Sub

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Points : 42
    Points
    42
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Workbooks.Open Filename:=chemin & "\En-Cours Réglés.xlsm"
     
        'Du code que j'ai sauté ici
     
        ActiveWorkbook.Save
        ActiveWindow.Close
     
        Windows("Suivi En-Cours Clients.xlsm").Activate
    Voici un extrait du code d'un fichier sur lequel j'ai travaillé précédemment, ça devrait pouvoir s'adapter à ton cas.

    Cordialement,
    Jordan

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2010
    Messages
    252
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 252
    Points : 74
    Points
    74
    Par défaut
    Re,

    J'ai réussi en changeant de logique.

    Le code se présente donc ainsi :


    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
     
    Sub CréationDossier()
     
    '***RENOMMER FICHIER AVEC CONTENU CELLULE***
       Range("A12").Copy
       Workbooks.Open Filename:= _
       "C:\Documents and Settings\Pierre\Fiche marché_.xls"
       Range("A1").Select
       ActiveSheet.Paste
       MkDir "P:\2069" & Range("A1").Value
       MkDir "P:\2069" & Range("A1").Value & "\aPréparation"
       MkDir "P:\2069" & Range("A1").Value & "\bPublication"
       MkDir "P:\2069" & Range("A1").Value & "\dAnalyse"
       ActiveWorkbook.SaveAs Filename:= _
       "P:\2069" & Range("A1").Value & "\Fiche marché_" & Range("A1").Value
       ActiveWindow.Close
     
    End Sub

    Merci !

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Points : 42
    Points
    42
    Par défaut
    Eh bien voila!

    Content d'avoir pu aider, à la prochaine. :3

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/04/2014, 20h54
  2. Réponses: 1
    Dernier message: 17/05/2013, 19h48
  3. Créer un nouveau dossier dans la boîte de réception
    Par SilkyRoad dans le forum Contribuez
    Réponses: 0
    Dernier message: 29/12/2011, 09h50
  4. [1.x] Créer des sous-dossiers dans les dossiers de templates
    Par cmasset dans le forum Symfony
    Réponses: 2
    Dernier message: 24/09/2009, 18h21
  5. Réponses: 0
    Dernier message: 19/09/2009, 22h51

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