copier ds Excel la valeur d'une case à cocher Wd

J

JeanMichelS

Guest
Bonsoir

Encore en train de plancher sur ma macro en VBA :-(
En partant d'Excel, j'ouvre un fichier Word en mode fomulaire, puis je copie les valeurs des signets texte dans ma feuille.
Par contre je suis bloqué pour récupérer l'état des cases à cocher (True ou False)et les transférer dans ma feuille.
Voila comment je fais pour le texte:

.Selection.GoTo what:=wdGoToBookmark, Name:='Texte39'
Wd.Selection.Copy
Range('b2').PasteSpecial xlPasteValues

Pour les case à cocher je suis parti avec:

.Selection.GoTo what:=wdGoToBookmark, Name:='CaseACocher9'

et plouf.... j'arrive pas à faire surface.

Avez vous une idée ???

Merci de votre aide.

Jean Michel
 

MichelXld

XLDnaute Barbatruc
bonjour

si le checkbox est créée à partir de la boite à outils Controles , tu peux utiliser

Dim wdApp As Word.Application
Dim wdDoc As Word.Document

Set wdApp = CreateObject('word.application')
wdApp.Visible = True 'mettre False masquer Word pendant l'operation

Set wdDoc = wdApp.Documents.Open('C:\\\\\\\\leDocument.doc')
MsgBox wdDoc.Checkbox2.Value
'wdDoc.Close
'wdApp.Quit



bonne journée
MichelXld
 
J

JeanMichelS

Guest
Re:copier ds Excel la valeur d'une case à cocher

Bonjour,

Et merci pour ta réponse.
Les cases à cocher sont dans le formulaire Word crées en mode formulaire.

J'ai essayé avec une erreur 'Propriété ou Méthode non gérée par cet objet'.
Je te passe la partie en question qui marche:

Dim MonFichier As String
Dim Index As Integer
'***sélection des fichiers en fonction de la feuille
For Index = 4 To Range('a2').Value
MonFichier = Range('A' & Index)

Dim Wd As Word.Application
Set Wd = New Word.Application
With Wd
.Visible = False
.Documents.Open (MonFichier)
.ActiveDocument.Unprotect Password:='xxxxx' 'pour déprotéger le formulaire
'Récupération du signet N°Fiche
.Selection.GoTo what:=wdGoToBookmark, Name:='Texte39'
Wd.Selection.Copy
Range('b' & Index).PasteSpecial xlPasteValues 'coller le N°

Wd.ActiveDocument.Protect Password:='xxxxx', NoReset:=False, Type:=wdAllowOnlyFormFields
Wd.ActiveDocument.Application.Quit (SaveChanges)
End With

Next

Q: comment je choisi la case à cocher que je veux?
I: les cases crées dans Word en mode fomulaire sont nommées du genre 'CaseACocherX'

Bonne Journée
JeanMichelS
 
J

JeanMichelS

Guest
Re:copier ds Excel la valeur d'une case à cocher

Merci,

Je pense m'en sortir avec ta soluce:

If Wd.ActiveDocument.FormFields('CaseACocher9').Result = 1 Then
Range('E4').Value = 'Case Validée'

Bonne soirée.

Jean Michel
 

Statistiques des forums

Discussions
312 392
Messages
2 087 958
Membres
103 686
dernier inscrit
maykrem