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

VBA Word Discussion :

VBA Word - Création 2 dossiers + 2 sauvegardes


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut VBA Word - Création 2 dossiers + 2 sauvegardes
    Salut,
    Je travaille sur un projet sur word, et je cherche a faire une macro qui sauvegarde mon fichier actuel dans 2 nouveaux dossiers.

    Exemple :

    J'ouvre mon fichier, je le traite, puis je lance la macro qui crée 2 dossiers un "Word pour InDesign" et un "Word pour HTML", puis je sauvegarde mon fichier actuel (ouvert) dans chacun des deux dossiers.

    Et les 2 nouveaux dossiers devraient se trouver au niveau supérieur du dossier actuel dans lequel je traite mes fichiers.

    Mais le probleme, c'est que ne connais pas les commandes pour faire cela.

    Merci de m'aider les copains.

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Regarde à SaveAs, dans l'aide.
    Si tu as toujours un pb, tu dis

    A+

    NB - Tu n'a pas à préciser le format si tu enregistres en .doc

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut Y arrive pas
    Salut, merci d'avoir repondu.
    Je n'y parvient pas , j'utilise pourtant la commande "mkdir", mais je ne parviens pas a créer un répertoire....je ne pige pas pourquoi

    Voici un exemple de code avec plusieurs test :

    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
    Sub crer_rep()
    '
    'Macro pour créer repertoire
    '
    Dim Chemin As String, NomComplet As String
     
    Chemin = ActiveDocument.Path
    ActiveDocument.Save
    MsgBox "Dossier actif: " & Chemin
     
    MkDir "Chemin & Word pour HTML"
    MkDir Chemin & "Word pour InDesign"
    MkDir "C: Word pour InDesign"
    MkDir ("C:\Dossier1")
    RmDir ("C:\Dossier1\Sous2\Sous3\")
     
    End Sub
    Aucun de ces exemples ne fonctionne, n'y a t'il pas un truc a faire avec XP SP2 ?

    Merci de m'helper les copains .

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Pour créer un répertoire dans un répertoire existant, tu dois d'abord te placer dans le répertoire existant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ChDir C:\NomRépertoireParent\ 'Te place dans le répertoire dans lequel créer ton répertoire
    MkDir NomDuNouveauRépertoire
    Sinon, tu dois indiquer tout le chemin dans MkDir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MkDir Chemin+NomDuNouveauRépertoire
    A+

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    re salut ::-)

    Ouai mais le probleme c'est que le repertoire de travail changera a chaque fois ... c'est pour cela que je ne souhaite pas entrer le chemin complet dans la macro...

    il n'y a pas une astuce pour utiliser le repertoire actif du document ?

    merci a toi en tout casn c cool

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Si, tu as aussi curdir mais juste une question : T'as pas de touche F1 sur ton clavier ?
    A chaque fois que tu as un problème, tu fais tu verras, c'est magic !



    A+

  7. #7
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    i doit y avoir un équivalent du app.path de vb6 en vba non?

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    i doit y avoir un équivalent du app.path de vb6 en vba non?
    Si ! Mais y'a aussi l'équivalent de

  9. #9
    Membre éprouvé
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Points : 1 220
    Points
    1 220
    Par défaut
    désolé, j'aiposté dans la même inute que toi donc pas vu ce que tu avais mis avant.

  10. #10
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Merci du conseil pour l'aide, mais tu pense bien que j'ai regardé l'aide avant de poster, mais concernant le mkdir et le chdir, c'est super restreint.

    Je n'ai toujours pas trouvé comment créer un dossier dans le même répertoire ou se trouve mon fichier ouvert...

    j'ai essayé pleins de truc notamment avec le activedocument.path, mais rien a faire...dommage

    merci quand même

  11. #11
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    si tu es allé dans l'aide en ligne et que tu as vraiment lu (je ne vois rien à y ajouter... c'est tellement simple)...

    Si tu as également lu attentivement ce qui t'a été dit à propos de la nécessité de faire précéder ton MKDIR (Pour Make Directory = créer un répertoire) d'un CHDIR ( pour Change Directory = changer de répertoire) afin de te placer dans le répertoire dans lequel tu veux créer un sous-répertoire,.....

    tu ne devrais plus rencontrer de difficultés...

    Dans quel répertoire se trouve ton appli à son exécution ? Celà t'a également (lis bien) été dit. Pourquoi ne pas utiliser un petit "msgbox Curdir", juste pour voir...

  12. #12
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Citation Envoyé par wouebmaster
    j'ai essayé pleins de truc notamment avec le activedocument.path, mais rien a faire
    Faut pas "essayer" plein de "trucs"!!!

    Il faut chercher à comprendre ce qu'on fait.

    Utilises-tu les espions, la fenêtre immédiate, les msgbox pour voir le contenu de tes variables?

    La plupart des problèmes de path (chemin) viennent d'un manque de backslash (\).

    Juste un truc, Curdir est un peu capricieux, utilise plutôt la propriété path de ton document.

  13. #13
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    salut,

    comme vous avez du vous en appercevoir, je suis un debutant en VBA, et malgrès vos conseils, notamment sur le chdir qui doit preceder le mkdir, je n'y arrive pas.

    voyez plutot le test que j'ai fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
     
     
    MsgBox ActiveDocument.Path & Application.PathSeparator & _
        ActiveDocument.Name
    ChDir ActiveDocument.Path
    MkDir mondossier
    MkDir "mondossier"
    MkDir (mondossier)
    End Sub
    j'ai bien mis un espion, sur activedocument.path, il me renvoie bien une bonne info (celle ou se trouve le doc), mais les espions sur le mkdir me renvoie rien (vide), pourtant, je pense utiliser une bonne orthographe

    ...

  14. #14
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je ne comprends pas ce qui se passe

    si aucun répertoire n'est spécifié, MKDIR doit normalement créer un dossier dans le répertoire courant, précisément :

    Dans ce cas, MKDIR "mondossier" decrait créer le dossier "mondossier" dans le répertoire dans lequel tu te trouves.
    Alors, plusieurs questions :

    1) reçois-tu un message d'erreur à l'exécution ? si oui, lequel ?
    2) si tu ne reçois pas de message d'erreur : as-tu vérifié si oui ou non, un répertoire "mondossier" avait été créé quelque part ? (utilise au besoin l'outil de recherche) et fais-nous savoir le résultat de cette recherche.

    3) le projet sur lequel tu es est-il le seul ouvert (l'ouverture de plusieurs projets à la fois est souvent source de problèmes, quelquefois en raison du fait que l'utilisateur lance l'exécution d'un projet en croyant qu'il lance l'autre
    4) quelle est ta version de Windows et quel est le nom complet du répertoire où se trouve ton projet ? Il y a quelquefois des problèmes en raison de noms longs et de la présence de certains caractères dans le nom.

    5) crées sous c un tout petit projet essai avec un bouton de commande dans l'événement click duquel tu mets simplement, pour voir (ferme yous tes autres projets éventuels auparavant)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Command1_Click()
      MkDir "aaa"
    End Sub
    et vas voir si un dossier c:\aaa a bien été créé puis faos*nous savoir

  15. #15
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Salut et merci de ton aide,

    ** Non, je n'ai aucun message d'erreur a l'execution de cette macro.
    ** Non, aucun repertoire n'est crée.

    ** Par contre, je travail sur un disque amovible (une cle USB), peut être que la est la source du probleme.

    ** Je n'est bien qu'un seul projet d'ouvert.. (je ne travail que sur un fichier a la fois), je suis en Windows XP SP2 (Novell), je ne suis pas administrateur, juste utilisateur.

    j'ai mis ton code, et c'est la même chose, pas de dossier... j'ai fais une recherche....

    Je pense qu'il doit y avoir une protection quelconque sur ce poste...

    Merci a tous quand même, je vais essayé de touver une autre alternative. car je ne compte pas sècher sur ce point.

    Merci encore

  16. #16
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Tu ne nous toujours pas si oui ou non tu as essayé, comme je te l'ai demandé, le tout petit projet sous C ?

  17. #17
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 16
    Points : 10
    Points
    10
    Par défaut
    Salut,

    Merci de m'aider....

    Effectivement, j'ai essayé (sur C et la ca marche... en revanche sur une clée amovible (USB) ca marche pas.... argument invalide...

    *Je met resolu !!

    merci encore...et desole

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

Discussions similaires

  1. [XL-2007] Création arborescence dossiers et création de fichiers
    Par raneelbe dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 25/01/2019, 17h44
  2. Sauvegarder un fichier Word dans un dossier spécifique
    Par vash641 dans le forum VBA Word
    Réponses: 2
    Dernier message: 27/05/2009, 19h09
  3. Création checkbox avec vba word
    Par kerdo dans le forum VBA Word
    Réponses: 3
    Dernier message: 23/02/2009, 18h04
  4. [VBA][Word]Sauvegarder sans les macros
    Par Oui-Oui MB dans le forum VBA Word
    Réponses: 3
    Dernier message: 23/07/2007, 12h29
  5. Réponses: 3
    Dernier message: 25/01/2006, 17h54

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