Word erreur 5941 sur " Set bmrange"

Fermé
arnoH Messages postés 16 Date d'inscription mardi 24 juin 2014 Statut Membre Dernière intervention 22 septembre 2014 - Modifié par arnoH le 22/09/2014 à 12:51
arnoH Messages postés 16 Date d'inscription mardi 24 juin 2014 Statut Membre Dernière intervention 22 septembre 2014 - 22 sept. 2014 à 16:22
Bonjour,

je réalise actuellement un formulaire sur Word avec après fusion des variables dans un texte et je me suis donc penché sur le VBA

J'ai utilisé la base d'un userform que j'ai pu trouvé sur les internet, cependant je me retrouve régulièrement (toujours) avec l'erreur 5941

Je vous colle le code VBA qui pose problème ici

Sub cmdAddLetter_Click()
'Copy letter elements to letter template from userform
Dim bmks As Bookmarks
Dim bmRange As Range
'Pass the userform values to the document's bookmarks.
Set bmks = ActiveDocument.Bookmarks
Set bmRange = ActiveDocument.Bookmarks("bmDate").Range
bmRange.Text = Me.txtDate.Value
Set bmRange = ActiveDocument.Bookmarks("bmName").Range
bmRange.Text = Me.txtName.Value & " " _
& Me.ComboBox1.Value
Set bmRange = ActiveDocument.Bookmarks("bmAddress").Range
bmRange.Text = Me.txtAddress.Value
Set bmRange = ActiveDocument.Bookmarks("bmAddress2").Range
bmRange.Text = Me.txtCity.Value & ", " _
& Me.cboState.Value & " " _
& Me.txtZip.Value

Me.Hide
End Sub


La partie qui pose problème ce sont les "bm range" en effet dès que je lance le debug celui-ci me colle l'erreur 5941 " Le membre de la collection requis n'existe pas".
Je comprend donc que je n'ai pas spécifié "quelque chose", j'aimerais savoir ce qu'est ce " Quelque chose" et comment le déclarer.

A vot' bon coeur et merci par avance

A voir également:

2 réponses

arnoH Messages postés 16 Date d'inscription mardi 24 juin 2014 Statut Membre Dernière intervention 22 septembre 2014
22 sept. 2014 à 12:49
Au cas ou cela serait nécessaire je vous colle le code VBA complet du document :
A titre d'information : je ne sais pas déclarer des range, j'apprend sur le tas c'est donc peut-être de ça que survient le problème :)

Private Sub ComboBox1_Change()

End Sub

Private Sub txtDate_Change()

End Sub

Private Sub txtName_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Automatic fill-in for salutation control.
On Error Resume Next
Me.txtSalutation = "Dear " & Left(txtName, InStr(Me.txtName, " ") - 1) & ":"
On Error GoTo 0
End Sub

Private Sub txtZip_Change()

End Sub

Private Sub UserForm_Initialize()
'Populate cboState in ufAddressLetter.
Me.cboState.List = Split("AL AK Monsieur AR Madame CO CT DE DC FL GA" _
& "HI ID IL IN IA KS KY LA ME MD MA MI MN MS MO MT NE NV NH" _
& "NJ NM NY NC ND OH OK OR PA RI SC SD TN TX UT VT VA WA" _
& "WV WI WY")
Me.ComboBox1.List = Split("Monsieur Madame")

'Populate txtDate in ufAddressLetter. You can overwrite this value.
Me.txtDate.Value = Format(Now, "dd mmmm , yyyy")
End Sub


Sub cmdAddLetter_Click()
'Copy letter elements to letter template from userform
Dim bmks As Bookmarks
Dim bmRange As Range
'Pass the userform values to the document's bookmarks.
Set bmks = ActiveDocument.Bookmarks
Set bmRange = ActiveDocument.Bookmarks("bmTxtDate").Range
bmRange.Text = Me.txtDate.Value
Set bmRange = ActiveDocument.Bookmarks("bmName").Range
bmRange.Text = Me.txtName.Value & " " _
& Me.ComboBox1.Value
Set bmRange = ActiveDocument.Bookmarks("bmAddress").Range
bmRange.Text = Me.txtAddress.Value
Set bmRange = ActiveDocument.Bookmarks("bmAddress2").Range
bmRange.Text = Me.txtCity.Value & ", " _
& Me.cboState.Value & " " _
& Me.txtZip.Value

Me.Hide
End Sub




0
arnoH Messages postés 16 Date d'inscription mardi 24 juin 2014 Statut Membre Dernière intervention 22 septembre 2014
22 sept. 2014 à 16:22
J'ai finalement trouvé... il m'a suffit de comprendre que les bookmarks étaient des signets et que oui..je ne les avaient pas mis encore. Voilà merci beaucoup !
0