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 :

Référencer Excel automatiquement


Sujet :

VBA Word

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 92
    Points : 48
    Points
    48
    Par défaut Référencer Excel automatiquement
    Bonjour,

    J'ai un fichier word qui a besoin d'aller lire un document excel. Pour cela, il faut que je référence excel dans Outils > Références > Microsoft Office xx.x Object Library

    Malheureusement, je ne sais pas pourquoi, à chaque ouverture de ce document word, bien que la référence soit toujours cochée, c'est comme si elle ne l'était pas : le code où j'utilise excel produit une erreur. Il faut que je décoche, valide, recoche, valide. Et là, ça fonctionne.

    Première question : avez-vous une idée de pourquoi ça fait ça ??

    Du coup, pour palier le truc, je voudrais qu'à l'ouverture du fichier word, ça déréférence puis reréférence automatiquement excel. Problème : ce fichier peut être ouvert par plusieurs utilisateurs sur plusieurs environnements, donc il faudrait aller chercher la référence la plus récente d'Excel.

    Deuxième question : comment on fait ça ?

    Merciii

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

    Le code ci-dessous instancie Excel depuis Word en liaison tardive (ou late binding : Excel n'est pas coché dans les références VBA Word). Pour cela, il vous faut créer des variables de type Object.
    Ce code est issu de cette discussion : importation-d-graphique-excel-word-appel-macro-vba-word
    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
     
    Sub CreerUnInstanceExcelDepuisWord()
     
    Dim I As Integer
    Dim MonChemin As String
    Dim DocEncours As Document
     
    Dim AppExcel As Object, FicExcel As Object
     
        On Error GoTo Fin
     
        Set DocEncours = ActiveDocument
     
          MonChemin = "C:\Users\...\Xxxxx.xlsm"
     
         Set AppExcel = CreateObject("Excel.Application")
         With AppExcel
     
              .Visible = True
              Set FicExcel = .Workbooks.Open(MonChemin)
              FicExcel.Sheets("Données").ChartObjects("Graphique 2").Copy
     
              With DocEncours
                   'Cherche le signet nommé Signet1
                   Selection.GoTo What:=-1, Name:="Signet1"
                   DoEvents
                   'Colle le graphe dans le signet
                   Selection.PasteSpecial , Link:=False
                   DoEvents
              End With
     
              FicExcel.Close savechanges:=False
     
        End With
     
        MsgBox "Import graphe terminé !", vbInformation
     
        GoTo Fin
     
    Fin:
     
        Set FicExcel = Nothing
        AppExcel.Quit
        Set AppExcel = Nothing
     
        Set DocEncours = Nothing
     
    End Sub
    Avec ce mode de fonctionnement, le code ne permet pas l'utilisation directe des paramètres propres à Excel (derrière les := ). Il vous aller chercher dans l'aide Excel, leur équivalent numérique. En revanche, il devrait régler les problèmes de compatibilité de version, au moins lors de l'ouverture.

Discussions similaires

  1. fermeture d'excel automatique
    Par BRUNO71 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/04/2009, 10h38
  2. Exporter dans Excel automatiquement.
    Par JarAsh dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 31/07/2007, 16h23
  3. passer de access vers excel automatiquement
    Par oclone dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/05/2007, 17h11
  4. Mise a jour et export excel automatique
    Par mattyeux dans le forum Access
    Réponses: 6
    Dernier message: 03/05/2007, 14h34
  5. [VB6]:fermeture d'une fenêtre excel automatiquement d'après vb
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 24
    Dernier message: 24/07/2006, 11h45

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