Word copier coller vba [Résolu]

Signaler
Messages postés
134
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
5 avril 2007
-
Messages postés
134
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
5 avril 2007
-
Bonjour,
depuis acces j'ouvre un document word, je le selectionne entièrement et je le copie, je crée un nouveau document vide et je voudrais coller la selection précédente. Seulement pourqu'il colle sur le bon document il faut que j'active celui-ci. Or le code genre "monword.documents.activate" ça marche passachant que je peux pas fermé le document que je veux copier.
quelqu'un aurait-il une idée sur la manière de procéder?
merci
jordinette

6 réponses

Messages postés
134
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
5 avril 2007

A yé ça marche avec le code suivant


MonWord.Documents.Open (chemin & "\DossierFraudeCommerçant1.doc")

'test puis retrait de la protection du document Word
If MonWord.ActiveDocument.ProtectionType <> wdNoProtection Then
MonWord.ActiveDocument.Unprotect "suivi"
End If

MonWord.ActiveDocument.Select
MonWord.Selection.Copy

'coller dans nouveau doc et sauvegarde
MonWord.Documents.Add , , wdNewBlankDocument, True
'activé le nouveau document
MonWord.Selection.Paste

Jordinette
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
tu as un peu remanié l'architecture a ton gout....
Documents.Add renvoie le document ajouté, il suffit de l'activer a ce moment :

MonWord.Documents.Add(DocumentType:=wdNewBlankDocument).Activate

Et d'y coller le contenu du presse papier
MonWord.Selection.Paste

Renfield
Admin CodeS-SourceS - MVP Visual Basic
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
qu'entends tu par "ca marche pas"

pourrais tu nous donner la ligne de code incriminée

Renfield
Admin CodeS-SourceS - MVP Visual Basic
Messages postés
134
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
5 avril 2007

Voici le code

MonWord.Documents.Open (chemin & "\DossierFraudeCommerçant1.doc")

'test puis retrait de la protection du document Word
If MonWord.ActiveDocument.ProtectionType <> wdNoProtection Then
MonWord.ActiveDocument.Unprotect "suivi"
End If

MonWord.ActiveDocument.Select
MonWord.Selection.Copy

'coller dans nouveau doc et sauvegarde
MonWord.Documents.Add DocumentType:=wdNewBlankDocument
'activé le nouveau document
MonWord.Documents.Activate (wdNewBlankDocument)
MonWord.ActiveDocument.Selection.Paste

MonWord.ActiveDocument.SaveAs "DossierFraudeCommerçant " & moisdossier & ".doc"
MonWord.ActiveDocument.Close (wdDoNotSaveChanges)
'MonWord.Documents.Activate ("DossierFraudeCommerçant1.doc")
MonWord.ActiveDocument.Close (wdDoNotSaveChanges)
MonWord.Quit
Set MonWord = Nothing
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
oui, cela fonctionne aussi très bien ainsi.... en mettant la propriété Visible à True, à la creation du document

Renfield
Admin CodeS-SourceS - MVP Visual Basic
Messages postés
134
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
5 avril 2007

Merci!
Es-ce que par hazard, tu saurais comment placer le cursseur de word en fin de page (après le dernier caractère saisie sur la page)?
exemple de texte saisie sur ma page, je voudrais placer le cursseur là où il y à *.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Bonjour,
blabla blabla
Cordialement.*
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
merci d'avance
Jordinette