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 :

Ouvrir un fichier word avec un bouton


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 79
    Points : 45
    Points
    45
    Par défaut Ouvrir un fichier word avec un bouton
    Bonjour,

    je ne me rappelle plus le code qu'il faut écrire pour qu'un bouton dans un formulaire ouvre un fichier word ?

    Merci !

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 79
    Points : 45
    Points
    45
    Par défaut vba
    J'ai déjà créé le bouton et dit que je voulais y rattacher un fichier word donc j'ai déjà ça d'écrit

    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
    Private Sub Procédure_à_suivre_Click()
    On Error GoTo Err_Procédure_à_suivre_Click
     
        Dim oApp As Object
     
        Set oApp = CreateObject("Word.Application")
        oApp.Visible = True
     
    Exit_Procédure_à_suivre_Click:
        Exit Sub
     
    Err_Procédure_à_suivre_Click:
        MsgBox Err.Description
        Resume Exit_Procédure_à_suivre_Click
     
    End Sub

  3. #3
    Membre actif
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Points : 222
    Points
    222
    Par défaut
    bonjour,
    • tu vas dans word
    • tu fais "enregistrer macro"
    • puis tu exécute fichier ouvrir sur un document.
    dès que tu auras arrêter l'enregistrement de la macro, tu verrras le code généré par l'action d'enregistrement dans le Vba word. A toi d'adapter ce code dans le vba de ta base access en liant ce qui a été généré à ton objet oApp.

    cette technique est la plus simple pour toutes les fonctions que tu voudras utiliser dans Word, piloté dans un autre VBA.

    c'est d'ailleurs dommage que microsoft n'est jamais prévu une fonction enregistrer sous pour les macro access ==> celà aurait aider beaucoup d'utilisateurs débutants

  4. #4
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut cuterate et Jack78960,

    si c'est pour uniquement ouvrir le document:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "Winword.EXE c:\monFichier.doc"
    sinon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oApp.Documents.Open ("c:\monfichier.doc")

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 79
    Points : 45
    Points
    45
    Par défaut
    j'ai essayé ca, ca me dit :

    variable objet ou variable de bloc with non défini

    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
    Private Sub Procédure_a_suivre_Click()
    On Error GoTo Err_Procédure_a_suivre_Click
     
        Dim oApp As Object
     
        oApp.Documents.Open ("chemin du document.doc")
        oApp.Visible = True
     
    Exit_Procédure_a_suivre_Click:
        Exit Sub
     
    Err_Procédure_a_suivre_Click:
        MsgBox Err.Description
        Resume Exit_Procédure_a_suivre_Click
        
    End Sub

    ensuite j'ai essayé ç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
    Private Sub Procédure_a_suivre_Click()
    On Error GoTo Err_Procédure_a_suivre_Click
     
        
     Shell "Winword.EXE chemin du doc"
    
        
     
    Exit_Procédure_a_suivre_Click:
        Exit Sub
     
    Err_Procédure_a_suivre_Click:
        MsgBox Err.Description
        Resume Exit_Procédure_a_suivre_Click
        
    End Sub

    ca a presque ouvert le fichier, et ça m'a dit :

    word a rencontré une erreur lors de l'ouverture du fichier
    essayez de :
    -vérifier les autorisations
    -vérifier que la mémoire et l'espace disque sont suffisants
    -ouvrir le fichier avec le convertisseur récupération de texte


    tu as une autre astuce ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 79
    Points : 45
    Points
    45
    Par défaut ca ne fonctionne pas
    bonjour Jack78960,




    Citation Envoyé par Jack78960 Voir le message
    bonjour,
    • tu vas dans word
    • tu fais "enregistrer macro"
    • puis tu exécute fichier ouvrir sur un document.
    dès que tu auras arrêter l'enregistrement de la macro, tu verrras le code généré par l'action d'enregistrement dans le Vba word. A toi d'adapter ce code dans le vba de ta base access en liant ce qui a été généré à ton objet oApp.

    cette technique est la plus simple pour toutes les fonctions que tu voudras utiliser dans Word, piloté dans un autre VBA.

    c'est d'ailleurs dommage que microsoft n'est jamais prévu une fonction enregistrer sous pour les macro access ==> celà aurait aider beaucoup d'utilisateurs débutants

    excuse moi pauvre petite débutante (d'ailleurs je crois que je garderai mon niveau à jamais lol)mais je ne vois pas bien comment ton astuce peut fonctionner.
    toi tu es dans word et tu demandes à ouvrir un fichier spécifique word
    moi je suis dans access et je veux qu'il ouvre word et qu'il m'ouvre mon fichier spécifique


    j'ai essayé et ca a écrit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub ouvrirFichier()
    '
    ' ouvrirFichier Macro
    ' 
    '
        ChangeFileOpenDirectory _
            "chemin"
        Documents.Open FileName:= _
            """nom du doc.doc""", ConfirmConversions:= _
            False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
            PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
            WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""
    End Sub

  7. #7
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Dim oApp As Object
     
        Set oApp = CreateObject("Word.Application")
        oApp.Visible = True
        oApp.Documents.Open ("chemin du document.doc")
    pour le shell:
    "word a rencontré une erreur lors de l'ouverture du fichier"
    là c'est pas la faute de la commande... essais avec d'autres fichiers.

    Citation Envoyé par Jack78960
    dès que tu auras arrêter l'enregistrement de la macro, tu verrras le code généré par l'action d'enregistrement dans le Vba word. A toi d'adapter ce code dans le vba de ta base access en liant ce qui a été généré à ton objet oApp.
    pourtant il est clair:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        oApp.Documents.Open FileName:= _
            """nom du doc.doc""", ConfirmConversions:= _
            False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
            PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
            WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 79
    Points : 45
    Points
    45
    Par défaut je sais
    ca ne pourra jamais fonctionner je pense parce que mon fichier est dans dossier commun qui a pour nom "DAF Controle de gestion" sans "_" entre les mots et il me semble qu'access arrete de chercher le fichier si il n'y a plus de caractères....

    Merci quand meme je prends note des différents codes pour quand je travaillerai dans une boite qui nommera ses dossiers partagés sans espaces !!

    Par contre je cherche toujours à ouvrir une table access par l'intermédiaire du formulaire...

    bouton-ouvrir-fichier-word-table-formulaire/#post3637175

  9. #9
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    il me semble qu'access arrete de chercher le fichier si il n'y a plus de caractères....
    , je comprends pas.

    je ne vois pas le pb, access peut ouvrir avec de nom de chemin et fichier long (même avec des espaces).

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 79
    Points : 45
    Points
    45
    Par défaut ??
    Vodiem,

    Tu ne comprends pas ce que je dis ou tu es sur et certain qu'access ouvrir normalement mon fichier word meme s'il y a des espaces entre les mots ?
    si oui alors quel est le code que tu utilises pour ouvrir un fichier word ?

  11. #11
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "Winword.EXE ""c:\Mes Docs\mon fichier document que j'essaie d'ouvrir.doc"""
    => le nom de fichier long doivent être mis entre guillemets.
    (il faut doubler les guillemets lorsqu'ils sont à l'intérieur de guillemets)

  12. #12
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonjour,
    j'utilise tous les jours çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Commande9_Click()
    Dim strFichier As String
    Dim objWord As New Word.Application
     
    strFichier = "C:\ADMR\GESTION\ENTETE COURRIER.doc"
     
    ' ouvrir un document Word
    objWord.Documents.Open strFichier
    ' rendre Word visible
    objWord.Visible = True
    End Sub
    et comme tu peux voir il y a des espaces.

  13. #13
    Membre actif
    Inscrit en
    Mai 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 179
    Points : 222
    Points
    222
    Par défaut
    salut,
    excuse moi-de ne pas t'avoir donné plus d'informations.
    je t'ai donné la méthodologie pour travailler en mode "automation".
    Sur les outils office qui possède la fonction enregistement macro (Word Excel) il n'est pas nécessaires de connaitres les instructions du langage appelé.

    Dans ton cas,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oApp.Documents.open "Nom complet du fichier"
    est le résultat attendu. par contre le fait d'avoir generé la méthode par une macro te permet de voir tous les paramètres de la méthode utilisé par Word, avec les valeurs par défaut.

    Bien sur le générateur de macro est très bavard (comme moi d'ailleurs). Dans le cas que tu énonces, la macro commence par positionner le répertoire par défaut de Word sur le répertoire ou se situe ton fichier.
    La deuxième "Fonction" effectue "Documents.open" et, en plus, te montre toutes les paramètres disponibles.

    Word à en plus l'avantages de te montrer ces paramètres en "Argument Només" exemple FileName:= """nom du doc.doc""". Il te le propose dans l'odre où les paramètres doivent êtres passées ==> Dans access les arguments ne seront pas "Nommés", il faut donc passer les paramètres dans l'ordre sans le nom de l'argument.
    Exemple: si tu veux ouvrir ton document en lecture seule tu ecrirais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oApp.Documents.Open """c:\données\nom du doc.doc""", False, True
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oApp.Documents.Open """c:\données\nom du doc.doc""", , True
    les 3 double-quotes autour du nom de fichier permet l'utilisation de <blanc> dans le nom du fichier.

    Pour la méthode "Open" de la collection "Documents", seul le premier paramètre "FileName" est obligatoire.

    J'espère ne pas t'avoir noyé sous mes explications

    Cette réponse est plus particulièrement destinée à Vodiem

Discussions similaires

  1. Ouvrir un fichier Word ou Excel avec un bouton VBA
    Par nounout44 dans le forum Général VBA
    Réponses: 0
    Dernier message: 22/06/2015, 10h09
  2. [AC-2003] Ouvrir un fichier excel avec un bouton access
    Par Piccou dans le forum VBA Access
    Réponses: 1
    Dernier message: 01/08/2009, 10h51
  3. Ouvrir differents fichiers Word avec VBA
    Par karina218 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/11/2007, 10h10
  4. Ouvrir un fichier word avec VBA Access
    Par alainb dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/10/2007, 21h57
  5. [CR7][Word] Ouvrir un fichier Word ou excel avec CR
    Par yoyothebest dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 23/04/2005, 19h47

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