Erreur 5941
Résoluomar_einstein -
Je suis en train de développer une application GMAO en VBA.
Le problème c'est que je veux transfèrer les données stockés dans un recordset vers un fichier word.
chaque fois que j'execute mon code, une erreur 5941 se produit : "Le membre de la collection requise n'existe pas"
voila mon code :
Private Sub Transfer_Click()
Dim wApp As Object
Dim chemin As String
Dim path As String
Dim rs As DAO.Recordset
Dim db As DAO.Database
Dim sql As String
sql = "SELECT num, nom, dat_pan, heu_deb, heu_fin from test"
Set db = CurrentDb
Set rs = db.OpenRecordset(sql)
Set wApp = CreateObject("Word.Application")
chemin = Application.CurrentProject.path
path = "" & chemin & "" + "/Recepisse.doc"
wApp.Visible = True
While Not rs.EOF
With wApp
.Documents.Open (path)
.ActiveDocument.Bookmarks("num").Range.Text = rs.Fields("num") **Problème**
.ActiveDocument.Bookmarks("nom").Range.Text = rs.Fields("nom")
.ActiveDocument.Bookmarks("dat_pan").Range.Text = rs.Fields("dat_pan")
.ActiveDocument.Bookmarks("heu_deb").Range.Text = rs.Fields("heu_deb")
.ActiveDocument.Bookmarks("heu_fin").Range.Text = rs.Fields("heu_fin")
.ActiveDocument.PrintOut
.ActiveDocument.Close (wdDoNotSaveChanges)
End With
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
Set wApp = Nothing
End Sub
Le problème se produit à la ligne indiquée pas "Problème"
merci de m'indiquer la solution, car je me suis bloqué à cette étape
merci d'avance à l'inttention que vous paurteriez à mon message.
Configuration: Windows XP Internet Explorer 7.0
14 réponses
La discussion porte sur le transfert de données d'un recordset Access vers un fichier Word via des signets, et l'apparition répétée de l'erreur 5941 signifiant que le membre de la collection requis n'existe pas. Plusieurs réponses soulignent que les signets Word doivent exister et être accessibles, et recommandent de vérifier le chemin du document et l'ouverture appropriée de Word, notamment en rendant l'application visible pour éviter l'erreur de type. Des conseils évoquent l'utilisation d'Excel comme étape intermédiaire ou l'adaptation du code afin de s'assurer que le document est bien ouvert et que les signets correspondent exactement aux champs, plutôt que d'imprimer directement.
-
Bonjour,
Je pense qu'il manque juste en dessous de Open, la ligne
.document.visible = True
A+-
Salut ami,
Merci d'abord pour l'attention que vous avez portez à mon message.
J'ai essayé le truc que vous m'avez indiqué mais sans vain.
le compilateur m'affiche le message suivant : "Propriété ou méthode non gérée par cet l'objet" code erreur : "438"....
Merci de me répondre dans les meilleurs délais en m'indiquant autres astuces.
-