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 Access Discussion :

Word sous Access - Personaliser la sauvegarde d'un document ".doc"


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Word sous Access - Personaliser la sauvegarde d'un document ".doc"
    Le but est de personnaliser les dossiers de detination du document à sauvegarder ainsi que son nom.
    J'ai éplucher les tutos et j'ai pondu ça :
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
            Dim NomFichier As String
            Dim Chemin As String
            Dim CheminA As String
            Dim CheminB As String
            Dim Initial As String
            Dim RéfChrono As String
            Dim TypeVoie As String
            Dim TypeCourrier As String
            Dim NDossier As String
            Dim Rivoli As String
            Dim Adresse As String
     
                'Serveur 
                Chemin = "V:\JKL\Gestionnaire DD\Projet21\recherche"
                'Sous-dossier A
                CheminA = (Adresse & "" & TypeVoie)
                'Sous-dossier B
                CheminB = (Rivoli & "" & TypeVoie & "" & Adresse)
                'Nom du fichier .doc
                NomFichier = (Initial & "_" & Année & "_" & RéfChrono & "_" & TypeCourrier & "_" & Rivoli & "_" & TypeVoie & "_" & Adresse & "_" & NDossier & "_" & Année)
     
                Initial = Me.Initiales
                Année = "07"
                RéfChrono = Me.RéfCourrier
                NDossier = Me.Dossier
                TypeCourrier = "AS"
                Rivoli = Me.RivoliDestinataire1
                TypeVoie = Me.TypedevoieDestinataire1
                Adresse = Me.NomdelavoieDestinataire1
     
        Dim oFSO As Scripting.FileSystemObject
        Dim oDrv As Drive
        Dim oFld As Scripting.Folder
        Dim oFl As Scripting.File
     
            'Instanciation du FSO
            Set oFSO = New Scripting.FileSystemObject
     
            'Test d'existance du répertoire A
            If oFSO.FolderExists(Chemin & "\" & CheminA) Then
                'Aller dans le répertoire existant A
                Set oFld = oFSO.GetFolder(Chemin & "\" & CheminA)
                'Test l'existance du répertoire B
                If oFSO.FolderExists(Chemin & "\" & CheminA & "\" & CheminB) Then
                    'Aller dans le répertoire B existant
                    Set oFld = oFSO.GetFolder(Chemin & "\" & CheminA & "\" & CheminB)
                    'Evènement
                    .ActiveDocument.SaveAs (Chemin & "\" & CheminA & "\" & CheminB & "\" & NomFichier & ".doc")
                Else
                    'Aller dans le répertoire A
                    Set oFld = oFSO.GetFolder(Chemin & "\" & CheminA)
                    'Créer le répertoire B
                    oFld.SubFolders.Add (CheminB)
                    'Aller dans le répertoire B
                    Set oFld = oFSO.GetFolder(Chemin & "\" & CheminA & "\" & CheminB)
                    'Evénement
                    .ActiveDocument.SaveAs (Chemin & "\" & CheminA & "\" & CheminB & "\" & NomFichier & ".doc")
                End If
            Else
                'Instanciation du disque
                Set oDrv = oFSO.GetDrive("V")
                'Aller au répertoire racine
                Set oFld = oFSO.GetFolder(Chemin)
                'Créer le nouveau répertoire A
                oFld.SubFolders.Add (CheminA)
                'Aller dans le répertoire A
                Set oFld = oFSO.GetFolder(Chemin & "\" & CheminA)
                'Créer le nouveau répertoire B
                oFld.SubFolders.Add (CheminB)
                'Evénement
                .ActiveDocument.SaveAs (Chemin & "\" & CheminA & "\" & CheminB & "\" & NomFichier & ".doc")
            End If
    Le problème c'est que le résultat escompter ne se produit pas !!!
    sans messages d'erreure il fait la sauvegarde directement sous le chemin du serveur : Chemin = "V:\JKL\Gestionnaire DD\Projet21\recherche"
    avec un nom : ___________.doc
    Le tout pour un document word piloter sous access en vba.

    Merci à ceux qui voudrons bien se pencher la dessus.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 629
    Points : 34 335
    Points
    34 335
    Par défaut
    salut, il faut avouer que tu fais les affectations de valeurs dans le mauvais ordre... passe d'abord par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Initial = Me.Initiales
                Année = "07"
                RéfChrono = Me.RéfCourrier
                NDossier = Me.Dossier
                TypeCourrier = "AS"
                Rivoli = Me.RivoliDestinataire1
                TypeVoie = Me.TypedevoieDestinataire1
                Adresse = Me.NomdelavoieDestinataire1
    puis par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'Serveur 
                Chemin = "V:\JKL\Gestionnaire DD\Projet21\recherche"
                'Sous-dossier A
                CheminA = (Adresse & "" & TypeVoie)
                'Sous-dossier B
                CheminB = (Rivoli & "" & TypeVoie & "" & Adresse)
                'Nom du fichier .doc
                NomFichier = (Initial & "_" & Année & "_" & RéfChrono & "_" & TypeCourrier & "_" & Rivoli & "_" & TypeVoie & "_" & Adresse & "_" & NDossier & "_" & Année)
    ca devrait être un peu mieux ^^
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Suite et fin
    Un grand merci jpcheck, car en effet je n'ais pas été assez rigoureux dans l'affectation des valeurs, et je l'ai payer cache.
    La mise en ordre que tu m’as proposé a suffi pour que cela fonctionne parfaitement.
    Bon, je tire enseignement de cette bêtise pour l’avenir dans mes codes il me faudra être plus rigoureux dans l’agencement de l’affectation des valeurs.
    Encore merci « jpcheck » et à pluche !!!!

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

Discussions similaires

  1. Sauvegarde sous Access
    Par feldi dans le forum VB.NET
    Réponses: 12
    Dernier message: 25/05/2010, 13h53
  2. Réponses: 0
    Dernier message: 13/08/2009, 17h45
  3. Réponses: 1
    Dernier message: 09/11/2007, 11h46
  4. ouvrir un document word sous access
    Par sam_212 dans le forum Access
    Réponses: 5
    Dernier message: 31/07/2006, 12h09
  5. Réponses: 2
    Dernier message: 31/03/2006, 11h29

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