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 :

[VBA-W] Utiliser Excel depuis Word


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut [VBA-W] Utiliser Excel depuis Word
    Bonjour à tout le monde,

    J'ai un petit problème de VBA, En effet je souhaite activer un feuille excel et copier dans une cellule la valeur d'un userform de Word, Cependant Word ne veut rien entendre et le débogage apparait.

    Voici le bout de code qui ne veut rien savoir, mon intérêt est d'arriver à activer le fichier excel et non le réouvrir puisqu'il est déja ouvert avant dans le programme et cela marche correctement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub tableau_recap(lettre, numero)
     
    Dim numero2 As Integer
     
            Set exl = CreateObject("excel.application")
            exl.Workbooks("D.C.E  tableau_recap.xls").Activate
     
            numero2 = numero + 4
     
                exl.Workbooks("tableau_recap.xls").Sheets("Tableau").Range("c5").Value = UserForm2.Controls(lettre & numero).Value
     
     
    End Sub
    Le débogage apparait sur la ligne de l'acitivation, exl.Workbooks.Open FileName:=ActiveDocument.Path & "\tableau_recap.xls" fonctionne mais je ne souhaite pas l'ouvrir et le fermer plusieurs fois, puisque j'ai besoin qu'il reste ouvert.


    Merci à tous

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu veux travailler dans un fichier fermé, regarde
    A+

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut
    Non, je ne souhaite pas travailler en fichier fermé justement, le fichier excel est ouvert, je veux simplement l'activer copier ma valeur et revenir sur word, je ne comprend pas pourquoi justement le .activate depuis word ne fonctionne pas, comment puis je m'y prendre?
    Merci

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 109
    Par défaut Ouvrir classeur
    Je me suis inspiré de cette discussion.

    Cela ne marche pas le débogueur m'affiche : type défini par l'utilisateur non défini.
    Je souhaiterai simplement accéder à un fichier excel "tableau recap" que j'ouvre au lancement pour y copier une valeur.

    Merci pour la réponse quand même

  6. #6
    Membre éprouvé Avatar de cwain
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 218
    Par défaut
    Pour ouvrir un fichier en évitant les embrouilles j'utilise ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub VerifOuv(Chem1 As String, Nom2 As String)
    Dim lWorkbook As Workbook
    'vérifie que le fichier n'est pas ouvert sur mon PC, le ferme puis l'ouvre puis l'ouvre
    For Each lWorkbook In Workbooks
        If lWorkbook.Name = Nom2 Then
            Workbooks(Nom2).Activate
            Workbooks(Nom2).Close
        End If
    Next
    Workbooks.Open Filename:= _
     Chem1 & Nom2
    Workbooks(Nom2).Activate
    End Sub
    Dans le cas où tu veux vérifier si il est ouvert sur un autre PC, j'ajoute ça dans mon code principal
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If ActiveWorkbook.ReadOnly = True Then
        MsgBox "Le fichier est déjà utilisé"
        Exit Sub
    End If
    Je sens que je vais me prendre des réflexions du genre : "c'est rigolo, si ton fichier est déjà ouvert sur ton PC, tu le fermes pui tu l'ouvres, ça sert à rien" Mais à ça je répond : j'ai pas eu le temps (l'envie/le besoin) d'épurer ce code...

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    pense à rajouter la référence Microsoft Excel... à ton projet Word-VBA..! ( dans l'éditeur VBE , outils références,..)

Discussions similaires

  1. Lancer Macro Excel depuis word
    Par Tintou dans le forum VBA Word
    Réponses: 1
    Dernier message: 21/02/2008, 17h17
  2. import de EXCEL depuis WORD
    Par mécano41 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 12/02/2008, 14h40
  3. Modifier un graphique Excel depuis Word
    Par hsoulard dans le forum VBA Word
    Réponses: 3
    Dernier message: 21/09/2007, 21h44
  4. Fermer un fichier excel depuis word
    Par liop49 dans le forum VBA Word
    Réponses: 6
    Dernier message: 31/08/2007, 15h29
  5. [VBA W] Envoi Email depuis Word
    Par nono le golfeur dans le forum VBA Word
    Réponses: 1
    Dernier message: 18/04/2007, 13h32

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