Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/02/2007, 09h11   #1
Futur Membre du Club
 
Inscription : mars 2005
Messages : 109
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 109
Points : 15
Points : 15
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 :
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
le_sonic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 09h26   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Tu veux travailler dans un fichier fermé, regarde
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 12h21   #3
Futur Membre du Club
 
Inscription : mars 2005
Messages : 109
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 109
Points : 15
Points : 15
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
le_sonic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 12h48   #4
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 775
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 775
Points : 16 855
Points : 16 855
Envoyer un message via Skype™ à bbil
essai avec getOpen voir ici http://www.developpez.net/forums/sho...97&postcount=7
bbil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 14h43   #5
Futur Membre du Club
 
Inscription : mars 2005
Messages : 109
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 109
Points : 15
Points : 15
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
le_sonic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 16h47   #6
Membre habitué
 
Avatar de cwain
 
Inscription : mars 2006
Messages : 218
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 218
Points : 144
Points : 144
Envoyer un message via MSN à cwain Envoyer un message via Yahoo à cwain
Pour ouvrir un fichier en évitant les embrouilles j'utilise ça :
Code :
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 :
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...
cwain est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2007, 18h24   #7
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 775
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 775
Points : 16 855
Points : 16 855
Envoyer un message via Skype™ à bbil
pense à rajouter la référence Microsoft Excel... à ton projet Word-VBA..! ( dans l'éditeur VBE , outils références,..)
bbil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h56.


 
 
 
 
Partenaires

Hébergement Web