Erreur 5941

Résolu
omar_einstein -  
 omar_einstein -
Bonjour,
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

Résumé de la discussion

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.

Bobot (l'IA à votre service)
  1. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    Bonjour,
    Je pense qu'il manque juste en dessous de Open, la ligne
    .document.visible = True
    A+
    0
    1. omar_einstein
       
      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.
      0