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

Word Discussion :

[ vba word] enregistrer un document issu d'un modèle


Sujet :

Word

  1. #1
    Membre du Club
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Points : 50
    Points
    50
    Par défaut [ vba word] enregistrer un document issu d'un modèle
    Bonsoir le forum,
    Bonsoir toutes et tous.
    Le papy a encore des problèmes, mais vous avez surement la solution

    J'ai créer un modèle word avec formulaire et macros et tout et tout ...
    lorsqu'on l'ouvre evidemment il est créer un document qui s'appelle document1.
    j'ai écrit une (et même plusieurs !) macros destinées à nommer et enregistrer sous le nouveau document créé.
    Le processus fonctionne mais il y a toujours un mais. lors de l'ouverture du document créé un message d'erreur s'affiche
    "Imposible d'ouvrir le fichier "blabla".Des problèmes ont été décelés." Il y a même une options détails qui dit " aucune info sur l'erreur".
    la lecture des propriétés du doc ne signale rien.
    Voici mon 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
    Private Sub cb4_Click()
     
     
    'Enregitrement sous
            Dim fichier As String
     Dim chemin As String
    fichier = "blabla" & tb_numsem.Text & ".docm"
     
    chemin = "C:\Users\Michel\Desktop\"
       ActiveDocument.SaveAs chemin & fichier
     
    ''''AUTRE SOLUTION TESTEE
    '''chemin identique au modèle
    ''chemin = ThisDocument.Path
    ''chemin = ActiveDocument.AttachedTemplate.Path
    ''ActiveDocument.SaveAs ThisDocument.Path & "\" & fichier & ".docm"
    '''ActiveDocument.SaveAs ActiveDocument.AttachedTemplate.Path & "\" & fichier & ".docm"
    Je précise que si je procède par la boite de dialogue "Enregistrer sous" il n'y a pas de problème.
    Il me semble que j'avais procéder avec un code similaire sous excel sans souci.
    Merci de bien vouloir éclairer ma lanterne et bon dimanche à tous

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kalocou Voir le message
    Bonjour,

    Personnellement, je sauvegarde avec SaveAs2 ( exemple tiré de sauvegarder-lire-macro-infos-collection-variables-document-word) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     .SaveAs2 FileName:="Doc avec mémo " & I & ".docm"
     .Close savechanges:=True
    Regardez également l'aide en ligne VBA Word pour SaveAs et SaveAs2.

    Sinon, que représente tb_numsem.Text ? Y a-t-il des caractères interdits pour un nom de fichier dans la chaîne ?

  3. #3
    Membre du Club
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    Bonjour Eric
    Merci de vous etre penché à une heure ausi tardive sur ma question.
    J'avais essayé la methode saveas2 sans plus de résultats. Mais depuis j'ai résolu le problème d'une facon tellement simple que ca me laisse pantois et j'aimerais bien avoir vos explications.
    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Enregitrement sous
    Dim Fichier As String
    Dim Chemin As String
     
     
    Chemin = ThisDocument.Path
    Fichier = "Cahier Journal 2017 semaine" & tb_numsem.Text
     
    ActiveDocument.SaveAs Chemin & "\" & Fichier & ".docx"
    voui vous avez bien lu ".docx" !!!
    Et ca fonctionne.
    il doit y avoir une logique mais laquelle ?
    tb_numsem.value est égale au contenu d'une textbox(un numéro d'ordre :1,2,3,....)

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kalocou Voir le message
    "C:\Users\Michel\Desktop\" = ThisDocument.Path dans les deux cas ?

  5. #5
    Membre du Club
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    voui !

  6. #6
    Membre du Club
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    enfin non mais c'est pareil
    "C:\Users\Michel\Desktop\Nouveau dossier\" = ThisDocument.Path
    j'ai meme essayé de transferer le document issu sur un disque qui ne possède pas le modèle et dans le vba du document issu il y a le code du modèle .

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kalocou Voir le message
    Quel est votre format par défaut ?

    Pièce jointe 315913

    A vérifier : Comme vous n'avez pas précisé le format dans SaveAs, je pense qu'il doit prendre le format par défaut, ce qui expliquerait l'incompatibilité.
    Si vous souhaitez sauver dans un format particulier, il vous faut le préciser dans la commande, voir l'aide VBA Word pour le format. Le docm correspond à ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub EnregistremenDUnDocumentEnDocm()
     
        ChangeFileOpenDirectory "C:\Users\Eric\Downloads\"
        ActiveDocument.SaveAs2 FileName:="Doc2.docm", FileFormat:= _
            wdFormatXMLDocumentMacroEnabled, LockComments:=False, Password:="", _
            AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
            EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
            :=False, SaveAsAOCELetter:=False, CompatibilityMode:=14
    End Sub
    14 correspond à Word 2010

  8. #8
    Membre du Club
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    je viens de verifier par acquis de conscience mais par défaut c'est .docx
    dites moi si je me trompe mais un fichier .docx ne prend pas en principe en charge de macro ???

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kalocou Voir le message
    un fichier .docx ne prend pas en principe en charge de macro ???
    Exact. C'est bien là le problème en donnant à la sauvegarde une extension .docm sans lui préciser le format réel (cf ma dernière procédure).

  10. #10
    Membre du Club
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    La sauvegarde a bien une extention .docx !!!!
    j'essaye meme pas de comprendre c'est bien au dela de mes possibilités.
    par contre dans votre solution pourriez vous me dire ou indiquer le chemin car je ne vois que des instructions pour le fichier.
    Merci encore de votre implication

  11. #11
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kalocou Voir le message
    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 EnregistremenDUnDocumentEnDocx(ByVal MonDocument As Document, ByVal CheminComplet As String)
     
           MonDocument.SaveAs2 FileName:=CheminComplet, FileFormat:= _
            wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _
            :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _
            :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
            SaveAsAOCELetter:=False, CompatibilityMode:=14
     
    End Sub
     
    Sub TestDocX()
     
        Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
        EnregistremenDUnDocumentEnDocx ActiveDocument, "C:\Users\Eric\Downloads\Doc5.docx"
     
    End Sub

  12. #12
    Membre du Club
    Homme Profil pro
    paysan developpeur debutant mais ... têtu
    Inscrit en
    Février 2011
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : paysan developpeur debutant mais ... têtu

    Informations forums :
    Inscription : Février 2011
    Messages : 84
    Points : 50
    Points
    50
    Par défaut
    super !
    Merci encore et même si le mystère reste entier au moins pour moi je clique sur résolu!

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

Discussions similaires

  1. [AC-2010] Erreur sur Code VBA pour enregistrement d'un document publiposté word
    Par AudREN dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/09/2014, 13h22
  2. Enregistrer un Document Word/VBA dans un DBD MySQL
    Par Trebor_ dans le forum VBA Word
    Réponses: 8
    Dernier message: 30/03/2008, 15h41
  3. [VBA Word] Ouverture de document depuis Explorateur
    Par DotNET74 dans le forum VBA Word
    Réponses: 2
    Dernier message: 18/06/2007, 12h15
  4. [VBA-W]Enregistrer sous au format excel un document Word
    Par tazamorte dans le forum VBA Word
    Réponses: 3
    Dernier message: 20/03/2007, 22h03
  5. [VBA][WORD]Identifier un tableau dans un document
    Par mister3957 dans le forum VBA Word
    Réponses: 15
    Dernier message: 10/01/2006, 13h56

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