• Initiateur de la discussion Initiateur de la discussion arnaoke
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

arnaoke

XLDnaute Occasionnel
Bonjour !

Une des tâches qui m'a dernièrement été confiée, est le remplissage d'une fiche word en fonction de données excel.

Je m'explique :
En fonction du contenu d'une colonne (on prendra C) je dois ouvrir un fichier Word.
Une fois celui ci ouvert, je suis censé vérifier les autres champs correspondant à la même ligne, et cocher des cases du fichier word si les cases excel sont non vides.

Je maitrise le coté Excel du langage (en tout cas assez je pense), ce qui me pose problème est l'interaction avec Word, je ne voit pas du tout comment faire !

comment identifier la case à cocher avec la bonne case excel ?
peut on cocher une case sur word ( et pas avoir un carré blanc que l'on doit cocher à la main)
y a t il d'autres question que je dois me poser ?


Arnaoke
 
Re : Word + Excel en VBA

Bonjour 🙂,
Pas facile ton histoire 🙄...
Je ne sais pas si ça t'aidera, d'après l'aide, il semblerait que ce soit de l'ajout 2007, et tu es sous 2000 😱
Code:
Sub test()
Dim MaCase As ContentControl
For Each MaCase In Selection.Range.ContentControls
MsgBox MaCase.Checked
MsgBox MaCase.ID
Next
End Sub
en sélectionnant tout le texte, tu as l'état et le N° de ta case à cocher 😛.
Sinon, tu peux aussi les utiliser en Item
Code:
Sub test2()
Dim I As Integer
For I = 1 To Selection.Range.ContentControls.Count
MsgBox Selection.Range.ContentControls(I).Checked
Next I
End Sub
te donne aussi tous les cases de ta sélection 🙄.
En espérant que ça t'aide 😉.
Bon courage 😎
 
Re : Word + Excel en VBA

Bonjour, pour le moment j'essaie déjà d'ouvrir le document word via excel, jai trouvé ces lignes sur développez, mais elles ne fonctionnent pas ...

Code:
'-------- TEST WORD--------
Dim WordApp As Word.Application
Dim WordDoc As Word.Document

    Set WordApp = CreateObject("Word.Application")
    WordApp.Visible = True
    Set WordDoc = WordApp.Documents.Open("monDocument.doc", ReadOnly:=False)
    
'--------------------------
je pense que c'est parce que je n'a spécifié nul part le chemin d'accès ... mais je ne vois pas ou le faire non plus Oo !

Arna
 
Re : Word + Excel en VBA

Salut, outre le chemin du doc il faut cocher la référence Microsoft Word xx.x Library
après l'achèvement de ton programme il faudra voir avec les pbs liés à l'Early Binding et si
déploiement passer en Late Binding

Pour le chemin c'est ici
Code:
Set WordDoc = WordApp.Documents.Open("c:\tranfert\Essai\NomDuDocument.doc", ReadOnly:=False)
 
Re : Word + Excel en VBA

euh ... qu'est ce que le binding ??

le fait de procurer à l'application le chemin d'accès aux docs word ?
j'avoue que c'est aussi une question qui m'est venu à l'esprit ...

autre chose, après l'ajout de checkBox et des textBox, lors de ma compilation j'ai l'erreur suivante :
erreur 91 variable objet ou variable de bloc with non définie

elle survient à cette ligne :

Code:
If typeDeContrat = "E08 - 2008 Eolien" Then
            Set wrdDoc = wrdApp.Documents.Open("K:\99-Commun\SUIVI DE L'ACTIVITE\Suivi des opérations spécifiques\Module de pilotage opérationnel\Module de pilotage\Validation du contrat E08 V2.doc") <=== localisation de l'erreur!!
            wrdApp.Visible = True
            '--Numero du contrat--
            'wrdDoc.TextBox1.Value = ActiveCell.Value
            '--Dcc--
            If ActiveCell.Offset(0, 4).Value <> "" Then
               wrdDoc.CheckBox1.Value = True
            End If
         End If

des idées ?

arna
 
Dernière édition:
Re : Word + Excel en VBA

Re,comme visiblement tu ne sais même pas ce qu'est un chemin d'accès je me pose des questions
en fait remplacer
Code:
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
par
Code:
Dim WordApp As Object
Dim WordDoc As Object
et tester
 
Re : Word + Excel en VBA

Trop aimable.

Non en fait il suffisait de déclarer comme ceci :

Code:
    Dim wrdApp As Word.Application
    Dim wrdDoc As Word.Document
    Set wrdApp = New Word.Application
    Set wrdDoc = New Word.Document

merci quand même.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
662
J
Réponses
1
Affichages
2 K
J
Réponses
12
Affichages
3 K
Jérémy26
J
T
Réponses
2
Affichages
1 K
T
Retour