Voici la procédure suivante que j'ai fait dans Excel.
Private Sub cmdTransfertDonnée_Click()
Dim wApp As Word.Application
Dim strFichier As String
Dim i As Integer
'Le fichier doit être dans le même répertoire que le classeur Excel
strFichier = ThisWorkbook.Path & "\Fichier.doc"
'Ouverture du formulaire dans Word
Set wApp = CreateObject("Word.Application")
wApp.Visible = False
wApp.Documents.Open (strFichier)
If Err <> 0 Then
Exit Sub
End If
'Inscription des données dans le formulaire
For i = 1 to NbreDeDonnees
wApp.ActiveDocument.FormFields(i).Result = Feuil1.Cells(i, 1).Value
Next
Mon problème est que la macro continu après le wApp.Quit True alors que la
fermeture et l'enregistrement de Word n'est pas terminé.
Lorsque j'insère l'objet (dernier bout de code), le formulaire est vide
puisque le formulaire n'a pas encore été enregistré.
Est-il possible de mettre un "TimeOut" entre la fermeture du fichier et
l'insertion de l'objet afin que word enregistre le document avant l'insertion
?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
EricG
Rebonjour,
Désolé de la question puisque j'ai trouvé la réponse dans des questions du forum
DoEvents...
Merci !
"EricG" a écrit :
Bonjour,
Voici la procédure suivante que j'ai fait dans Excel.
Private Sub cmdTransfertDonnée_Click() Dim wApp As Word.Application Dim strFichier As String Dim i As Integer
'Le fichier doit être dans le même répertoire que le classeur Excel strFichier = ThisWorkbook.Path & "Fichier.doc"
'Ouverture du formulaire dans Word Set wApp = CreateObject("Word.Application") wApp.Visible = False wApp.Documents.Open (strFichier) If Err <> 0 Then Exit Sub End If
'Inscription des données dans le formulaire For i = 1 to NbreDeDonnees wApp.ActiveDocument.FormFields(i).Result = Feuil1.Cells(i, 1).Value Next
Mon problème est que la macro continu après le wApp.Quit True alors que la fermeture et l'enregistrement de Word n'est pas terminé.
Lorsque j'insère l'objet (dernier bout de code), le formulaire est vide puisque le formulaire n'a pas encore été enregistré.
Est-il possible de mettre un "TimeOut" entre la fermeture du fichier et l'insertion de l'objet afin que word enregistre le document avant l'insertion ?
Merci à tous de votre aide.
Rebonjour,
Désolé de la question puisque j'ai trouvé la réponse dans des questions du
forum
DoEvents...
Merci !
"EricG" a écrit :
Bonjour,
Voici la procédure suivante que j'ai fait dans Excel.
Private Sub cmdTransfertDonnée_Click()
Dim wApp As Word.Application
Dim strFichier As String
Dim i As Integer
'Le fichier doit être dans le même répertoire que le classeur Excel
strFichier = ThisWorkbook.Path & "Fichier.doc"
'Ouverture du formulaire dans Word
Set wApp = CreateObject("Word.Application")
wApp.Visible = False
wApp.Documents.Open (strFichier)
If Err <> 0 Then
Exit Sub
End If
'Inscription des données dans le formulaire
For i = 1 to NbreDeDonnees
wApp.ActiveDocument.FormFields(i).Result = Feuil1.Cells(i, 1).Value
Next
Mon problème est que la macro continu après le wApp.Quit True alors que la
fermeture et l'enregistrement de Word n'est pas terminé.
Lorsque j'insère l'objet (dernier bout de code), le formulaire est vide
puisque le formulaire n'a pas encore été enregistré.
Est-il possible de mettre un "TimeOut" entre la fermeture du fichier et
l'insertion de l'objet afin que word enregistre le document avant l'insertion
?
Désolé de la question puisque j'ai trouvé la réponse dans des questions du forum
DoEvents...
Merci !
"EricG" a écrit :
Bonjour,
Voici la procédure suivante que j'ai fait dans Excel.
Private Sub cmdTransfertDonnée_Click() Dim wApp As Word.Application Dim strFichier As String Dim i As Integer
'Le fichier doit être dans le même répertoire que le classeur Excel strFichier = ThisWorkbook.Path & "Fichier.doc"
'Ouverture du formulaire dans Word Set wApp = CreateObject("Word.Application") wApp.Visible = False wApp.Documents.Open (strFichier) If Err <> 0 Then Exit Sub End If
'Inscription des données dans le formulaire For i = 1 to NbreDeDonnees wApp.ActiveDocument.FormFields(i).Result = Feuil1.Cells(i, 1).Value Next
Mon problème est que la macro continu après le wApp.Quit True alors que la fermeture et l'enregistrement de Word n'est pas terminé.
Lorsque j'insère l'objet (dernier bout de code), le formulaire est vide puisque le formulaire n'a pas encore été enregistré.
Est-il possible de mettre un "TimeOut" entre la fermeture du fichier et l'insertion de l'objet afin que word enregistre le document avant l'insertion ?
Merci à tous de votre aide.
michdenis
Un principe de base est avant de vouloir fermer l'application, il est préférable de fermer tous les documents que contient l'application.
'Tu mets True si tu veux fermer le document en enregistrant activedocument.close False
'Ferme l'application wApp.Quit
'Libère la mémoire objet set wApp = Nothing
Si tu as plusieurs documents ouverts dans la même instance de Word
For each dc in wApp.documents dc.close False Next wApp.Quit set wApp = Nothing
"EricG" a écrit dans le message de news:
Bonjour,
Voici la procédure suivante que j'ai fait dans Excel.
Private Sub cmdTransfertDonnée_Click() Dim wApp As Word.Application Dim strFichier As String Dim i As Integer
'Le fichier doit être dans le même répertoire que le classeur Excel strFichier = ThisWorkbook.Path & "Fichier.doc"
'Ouverture du formulaire dans Word Set wApp = CreateObject("Word.Application") wApp.Visible = False wApp.Documents.Open (strFichier) If Err <> 0 Then Exit Sub End If
'Inscription des données dans le formulaire For i = 1 to NbreDeDonnees wApp.ActiveDocument.FormFields(i).Result = Feuil1.Cells(i, 1).Value Next
Mon problème est que la macro continu après le wApp.Quit True alors que la fermeture et l'enregistrement de Word n'est pas terminé.
Lorsque j'insère l'objet (dernier bout de code), le formulaire est vide puisque le formulaire n'a pas encore été enregistré.
Est-il possible de mettre un "TimeOut" entre la fermeture du fichier et l'insertion de l'objet afin que word enregistre le document avant l'insertion ?
Merci à tous de votre aide.
Un principe de base est avant de vouloir
fermer l'application, il est préférable de
fermer tous les documents que contient
l'application.
'Tu mets True si tu veux fermer le document en enregistrant
activedocument.close False
'Ferme l'application
wApp.Quit
'Libère la mémoire objet
set wApp = Nothing
Si tu as plusieurs documents ouverts dans la même instance de Word
For each dc in wApp.documents
dc.close False
Next
wApp.Quit
set wApp = Nothing
"EricG" <EricG@discussions.microsoft.com> a écrit dans le message de news:
77C998C8-F96E-4FAF-BEA1-323013AE571B@microsoft.com...
Bonjour,
Voici la procédure suivante que j'ai fait dans Excel.
Private Sub cmdTransfertDonnée_Click()
Dim wApp As Word.Application
Dim strFichier As String
Dim i As Integer
'Le fichier doit être dans le même répertoire que le classeur Excel
strFichier = ThisWorkbook.Path & "Fichier.doc"
'Ouverture du formulaire dans Word
Set wApp = CreateObject("Word.Application")
wApp.Visible = False
wApp.Documents.Open (strFichier)
If Err <> 0 Then
Exit Sub
End If
'Inscription des données dans le formulaire
For i = 1 to NbreDeDonnees
wApp.ActiveDocument.FormFields(i).Result = Feuil1.Cells(i, 1).Value
Next
Mon problème est que la macro continu après le wApp.Quit True alors que la
fermeture et l'enregistrement de Word n'est pas terminé.
Lorsque j'insère l'objet (dernier bout de code), le formulaire est vide
puisque le formulaire n'a pas encore été enregistré.
Est-il possible de mettre un "TimeOut" entre la fermeture du fichier et
l'insertion de l'objet afin que word enregistre le document avant
l'insertion
?
Un principe de base est avant de vouloir fermer l'application, il est préférable de fermer tous les documents que contient l'application.
'Tu mets True si tu veux fermer le document en enregistrant activedocument.close False
'Ferme l'application wApp.Quit
'Libère la mémoire objet set wApp = Nothing
Si tu as plusieurs documents ouverts dans la même instance de Word
For each dc in wApp.documents dc.close False Next wApp.Quit set wApp = Nothing
"EricG" a écrit dans le message de news:
Bonjour,
Voici la procédure suivante que j'ai fait dans Excel.
Private Sub cmdTransfertDonnée_Click() Dim wApp As Word.Application Dim strFichier As String Dim i As Integer
'Le fichier doit être dans le même répertoire que le classeur Excel strFichier = ThisWorkbook.Path & "Fichier.doc"
'Ouverture du formulaire dans Word Set wApp = CreateObject("Word.Application") wApp.Visible = False wApp.Documents.Open (strFichier) If Err <> 0 Then Exit Sub End If
'Inscription des données dans le formulaire For i = 1 to NbreDeDonnees wApp.ActiveDocument.FormFields(i).Result = Feuil1.Cells(i, 1).Value Next
Mon problème est que la macro continu après le wApp.Quit True alors que la fermeture et l'enregistrement de Word n'est pas terminé.
Lorsque j'insère l'objet (dernier bout de code), le formulaire est vide puisque le formulaire n'a pas encore été enregistré.
Est-il possible de mettre un "TimeOut" entre la fermeture du fichier et l'insertion de l'objet afin que word enregistre le document avant l'insertion ?