Arrêter la macro

Le
EricG
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

wApp.Quit True

Set wApp = Nothing

Feuil1.OLEObjects.Add(Filename:=strFichier, Link:úlse,
DisplayAsIcon:úlse).Select

End sub

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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
EricG
Le #16728631
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

wApp.Quit True

Set wApp = Nothing

Feuil1.OLEObjects.Add(Filename:=strFichier, Link:úlse,
DisplayAsIcon:úlse).Select

End sub

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
Le #16728841
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"
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

wApp.Quit True

Set wApp = Nothing

Feuil1.OLEObjects.Add(Filename:=strFichier, Link:úlse,
DisplayAsIcon:úlse).Select

End sub

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.
Publicité
Poster une réponse
Anonyme