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

  • Initiateur de la discussion Initiateur de la discussion JeanMichelS
  • 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 !

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
 
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
 
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
 
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
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour