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

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

    Informations forums :
    Inscription : mars 2009
    Messages : 71
    Points : 44
    Points
    44

    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
    Expert éminent sénior

    Homme Profil pro
    Développeur Vba Excel
    Inscrit en
    avril 2013
    Messages
    4 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Vba Excel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2013
    Messages : 4 031
    Points : 10 297
    Points
    10 297
    Billets dans le blog
    27

    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.
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

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